Главная страница
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.01 c
1-32209
Satrap
2002-01-24 10:19
2002.02.11
Application.OnException


14-32327
Leviathan
2001-12-17 20:52
2002.02.11
Улыбнитесь!


4-32373
ikar
2001-12-13 12:31
2002.02.11
Необходимо скопировать текст выделенный в любом другом приложении.


14-32341
Дремучий
2001-12-21 22:38
2002.02.11
Уважаемые Знатоки, житель села Гуево интересуется....


14-32315
panov
2001-11-27 18:54
2002.02.11
AtGuard - есть такой под Win2000?