Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   Ошибка "Неверна длина буфера данных" на программах DOS. (http://forum.oszone.net/showthread.php?t=137292)

a715 10-04-2009 10:26 1089710

Ошибка "Неверна длина буфера данных" на программах DOS.
 
:gulp: У меня компьютер с Windows XP. Сеть Novell. Выполняются DOS программы на Паскале.
Регулярно, несколько раз в день во время выполнения появляется ошибка
"Неверна длина буфера данных".
Я думал связано с Novell, Pervasiv. Переустановил всё это, но не помогло. Помогает восстановление програмой WinRescue XP системных
настроек. Но только на сутки. Вирусов нет, проверял разными программами.

===============================================
:shot: В чём тут может быть дело ? Может в Windows XP ?
===============================================

Ниже привожу Полный текст ошибки:


--------------------------Error---------------------
Ошибка Btrieve операции
Файл: R:\NI5\13201023.BTR
Операция 12:
Статус 22: Неверна длина буфера данных.
----------------------------------------------------
Ошибка появляется на разных файлах, статус меняется то 5 то 12, постоянная
только нижняя строка.

Hromius 10-04-2009 10:34 1089715

a715, 22 DATA BUFFER LENGTH
(Длина буфера данных)

Параметр буфера данных имеет недостаточную длину для размещения
длины записи данных, определенной при создании файла. Проверьте,
чтобы длина буфера данных была по крайней мере такой же длины,
как заданная длина записи файла.

- Для операций Get или Step, если буфер данных слишком мал для
размещения фиксированной части записи, Btrieve не возвратит
какие-либо данные в буфер данных. Если запись является
записью переменной длины и буфер данных слишком мал для
размещения всей переменной части записи, Btrieve возвратит
столько данных, сколько сможет, и статус 22, показывающий на
не возможность возврата всей записи,

- Для операции Insert Btrieve не добавит запись, если буфер
данных короче, чем фиксированная часть записи.

- Для операции Update, если буфер данных слишком мал для
размещения фиксированной части записи, Btrieve не
откорректирует запись.

- Для операций Create,Stat и Create Supplemental Index статус
22 показывает, что буфер данных не достаточно длинный для
размещения всех спецификаций файла и ключей и альтернативной
последовательности поиска, если она требуется

В дополнениие ссылочку даю. Там можно покопаться http://www.hardline.ru/2/22/1768/2172-8.html

a715 10-04-2009 11:02 1089736

:dont-know Hromius, или кто-нибудь знающий. Подскажите,

что нужно сделать в этой ситуации. Какие настройки сделать, что изменить.

И ещё, в сети есть другие такие же компьютеры, на которых эти программы выполняются без проблем и этой ошибки. Почему ?

Hromius 10-04-2009 11:32 1089763

a715, Операция 12 - это GET FIRST.
GET FIRST (12)
(Получить первую)
Н а з н а ч е н и е :
Get First ищет запись, соответствующую первому значению ключа для
заданного пути доступа.
О п и с а н и е :
Операция Get First позволяет Вашей прикладной программе искать
запись, соответствующую первому значению ключа для заданного
номера ключа.
П р е д в а р и т е л ь н ы е у с л о в и я :
До того, как Ваша прикладная программа сможет запрсить операцию
Get First должны быть выполнены следующие предварительные
условия:
- Файл должен быть открыт.
- Файл не может быть файлом, состоящим только из данных без
определенных индексов.
П р о ц е д у р а :
Для выполнения операции установите следующие Btrueve-параметры:
- Проинициализируйте код операции значением 12.
- Передайте блок позиции для файла.
- Задайте номер ключа для данного пути доступа.
- Задайте длину буфера данных.
Р е з у л ь т а т :
Если операция Get First завершилась успешно, Btrieve
- Вернет требуемую запись в буфер данных.
- Сохранит соответствующее значение ключа в буфере данных;
- Вернет длину записи в параметр длины буфера данных.
Если операция Get First не была успешной, Btrieve вернет
ненулевой код статуса указывающий на причину. Наиболее часто
встречающиеся ненулевые коды статуса:
- 3 Файл не открыт
- 6 Неверный номер ключа
- 22 Буфер данных слишком мал


Единственное что приходит на ум - это проверить объем предоставляемой памяти виртуальной и оперативной.


Время: 23:35.

Время: 23:35.
© OSzone.net 2001-