Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.009 c
3-32139
EternalWonderer
2002-01-14 16:33
2002.02.11
Обращение к объектам чужой схемы в Oracle.


4-32365
yuger
2001-11-12 16:45
2002.02.11
Не удается в Win2000 отключить некоторые комбинации клавиш.


14-32347
Ross
2001-12-20 20:32
2002.02.11
RX lib


3-32180
dim-
2002-01-14 14:40
2002.02.11
Вопрос по MSSql


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