Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Вниз

Как читать DBF файлы через ADO?   Найти похожие ветки 

 
SergSuper   (2003-05-26 10:41) [0]

Я делаю Build ConnectionString, выбираю OLEDB для ODBC. Дальше надо выбрать data source name. И вот тут мне приходится выпирать "Файлы dBase". Что не есть хорошо - где-то это может называться "dBase files".
Научите, как это надо делать грамотно, чтоб независимо от настроек открывался DBF файл


 
sniknik   (2003-05-26 10:55) [1]

грамотно выбирать OLE DB Jet.4.0.

для ODBC пиши вместо DSN имя драйвера, оно не меняется получится чтото вроде
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DRIVER={Microsoft dBase Driver (*.dbf)};DBQ=D:\;DefaultDir=D:\;DriverId=533;FIL=dBase 5.0;MaxBufferSize=2048;PageTimeout=5;"


 
SergSuper   (2003-05-26 11:14) [2]

не, чё-то не получается
делаю так:
Qdbf.ConnectionString :=
"Provider=MSDASQL.1;Persist Security Info=False;"
+ "Extended Properties="DRIVER={Microsoft dBase Driver (*.dbf)};"
+"DriverId=533;FIL=dBase 5.0;MaxBufferSize=2048;"
+"DBQ="+ dir+"; DefaultDir="+dir;

Qdbf.SQL.Clear;
Qdbf.SQL.Add("select * from ");
Qdbf.SQL.Add(name);

try
Qdbf.Open;

dir - директорий файла dbf
name - его имя

Появляется ошибка Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another


 
sniknik   (2003-05-26 11:40) [3]

сделай так как получается с DSN (так понимаю с ним у тебя получалось)
а после замени
DSN=dBASE Files
на
DRIVER={Microsoft dBase Driver (*.dbf)}
и потом не игногируй дополнительные параметры, в первом случае он их из алиаса получает а во втором может по умолчанию поставить совсем не то что тебе нужно.

+ Qdbf.SQL.Add("select * from "+name); выглядит "естественнее" чем у тебя. не кажется?

ну и на последок а где собственно ошибка возникает на подключении или на запросе? (чтобы понять нужно использовать TADOConnection а уже кверю, а лутше ADODataSet, вязать уже к нему, а не все "в одном флаконе")


 
SergSuper   (2003-05-26 12:01) [4]

была такая строка
Provider=MSDASQL.1;Persist Security Info=false;Data Source=Файлы dBASE;Initial Catalog=D:\DSOURCE\GA\dbf
и всё хорошо работало

сделал TADOConnection, теперь ошибка возникает когда приставиваю TADOConnection.ConnectionString

квери или ADODataSet - по-моему тут не принципиально, у меня это делается в одном месте, просто некий импорт из файла

насчет естественности:
Qdbf.SQL.Add("select * from "+name); - я сначала так и написал, но потом подумал что name - это типа параметр и подставление надо выделить отдельно.


 
sniknik   (2003-05-26 12:31) [5]

>была такая строка
>Provider=MSDASQL.1;Persist Security Info=false;Data Source=Файлы dBASE;Initial Catalog=D:\DSOURCE\GA\dbf
>и всё хорошо работало

не выбирай (когда "Я делаю Build ConnectionString") использовать sourse name выбери use connection string и в этой получившейся строке замени DSN


 
SergSuper   (2003-05-26 12:57) [6]

yes, победа!
большое русское мерси!

проблемы были из-за того что я не закрывал строку для Extended Properties двойной кавычкой



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

Форум: "Базы";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-50350
killer
2003-06-03 17:48
2003.06.16
Как програмно создать кнопку?


14-50473
OMen
2003-05-28 16:15
2003.06.16
Следует ли покупать Delphi7???


1-50308
McSimm2
2003-06-03 09:16
2003.06.16
Двустрочный итем в ComboBox


1-50290
Voyager
2003-06-03 16:36
2003.06.16
Подскажите как усыпить процес


14-50499
Мыш
2003-05-30 06:13
2003.06.16
Куда мы катимся?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский