Вниз
Скачать: CL | DM;

Строковые поля длинй больше 255   Найти похожие ветки 

← →
Sergant   (2002-01-12 04:35) [0]

Имеется база DBF, у которой некоторые стринговые поля имеют длину 300. И не спрашивайте меня, как это может быть - я не знаю. При подключении к этой базе через BDE или ADO размер такого поля почему-то 44. При подключении через Apollo все нормально - 300.
Вопрос 1:Как можно корректно открыть такую базу через ADO (не хочу пользоваться BDE)?
Вопрос 2:Как изменить размер и тип поля и запомнить эти изменения?
Заранее благодарю.


← →
z0ne ©   (2002-01-12 11:11) [1]

Не совсем по теме но вот кусок из Clipper Guide, где описано как создавать поля более 255 символов

Character field lengths greater than 255: There are two
methods for creating a character field with a length
greater than 255 digits:

- Specify the field length using both the Field_len and
Field_dec fields according to the following
formulation:

FIELD->Field_len := <nFieldLength> % 256
FIELD->Field_dec := INT(<nFieldLength> / 256)

- Modify the structure of the extended structure
changing the length of Field_len to 5 then specify
the actual field length.
This can be accomplished in DBU.EXE.
Refer to the Database Utility chapter in the
Programming and Utilities guide for more
information.



← →
Apollon   (2002-01-13 08:42) [2]

тоже немного в сторону
когда я писал модуль чтения .DBF на паскале, то выяснилось, что FoxPro последних версий не пишет длину поля ( = 0),а вычисляет эту длину по разности смещений полей в записи. 44 = 300 - 256 , наверное переполнение. Видимо MS напоролась на то, за что боролась :) FoxPro отдельно - ADO отдельно, попробуй пайди нормальный драйвер для FoxPro, или перейди с драйвера dBase на FoxPro.


← →
Desdechado ©   (2002-01-13 14:50) [3]

так пользуйся Apollo, еме не нужен БДЕ


← →
ValWhite   (2002-01-14 04:52) [4]

Еще можно использовать Halcyon он без БДЕ...


← →
Dark   (2002-01-15 21:56) [5]

Прочитал твой вопрос - как в зеркало посмотрел. У меня та же проблема. Только я знаю из-за чего, но нет знаю как устранить. Таблица у тебя скорее всего Clipper`овская. Он поддерживает длинные символьные поля. Не знаю как ADO, но BDE видит только один байт в заголовке таблицы, который отводится под длину поля (по-видимому и ADO тоже), а в Clipper`е их отводится два: первый - под остаток от реальной длины поля минус один или несколько раз по 254, а второй - эти несколько раз по 254. Скорее всего в ADO это тоже не уберешь. Но ты говоришь, что все нормально через Apollo. Тогда может подскажешь, где его можно взять. Позарез нужно!!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.005 c
14-32339
roman001
2001-12-22 17:18
2002.02.11
Архиватор


1-32208
Вовчик
2002-01-25 21:43
2002.02.11
Ошибка в вычислениях


7-32351
Иван Шихалев
2001-11-02 20:57
2002.02.11
Перезагрузка из DOS


4-32382
DenKop
2001-11-27 22:36
2002.02.11
Вывод текста


1-32289
MAN-IN-RED
2002-01-28 22:12
2002.02.11
Есть вопросик, буду очень благодарен если поможете!




   Наверх