Текущий архив: 2002.02.11;
Скачать: 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 вся ветка
Текущий архив: 2002.02.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c