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

Вниз

Проблема с select из dbf   Найти похожие ветки 

 
Orc ©   (2005-01-14 09:53) [0]

Возникла такая проблема: устанавливаю коннект и пытаюсь выполнить запрос из БД dBASE (Через ADO)

adoQuery1.ConnectionString:="Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы dBASE;Mode=ReadWrite;Initial Catalog=c:\recieve";

adoQuery1.Active := false;
adoQuery1.SQL.Text := "select * from FILENAME";
adoQuery1.Active := true;

Имя файла передаю без расширения. Все пути и сам файл есть. Но ругается на то, что ошибка как раз в параметре from. В чём может быть дело? Заранее благодарен.


 
Соловьев ©   (2005-01-14 10:38) [1]

FILENAME - может зарезервированое слово? попробуй взять в кавычки и указать расширение:
select * from "filename".dbf


 
Orc ©   (2005-01-14 10:41) [2]

:) FILENAME - это я просто так написал. Выглядет в оригинале так:

adoQuery2.SQL.Text := "select * from tender20050107";

Т.е. в каталоге c:\recieve валяется файл tender20050107.dbf


 
Соловьев ©   (2005-01-14 10:51) [3]

попробуй Provider=Microsoft.Jet.OLEDB.4.0


 
Orc ©   (2005-01-14 11:12) [4]

Изначально у меня работало вот как: запрос, который работает с dbf - Provider=MSDASQL.1, и ещё несколко запросов, которые использовались для работы с базой Access - Provider=Microsoft.Jet.OLEDB.4.0. На машине у заказчика (писалось под XP, у заказчика - 98) не работало. Переставляли там всё - бестолку. Тогда я сменил Provider"a для запросов к Access на MSDASQL.1 - у заказчика заработало всё, кроме запроса к dbf, который итак был с MSDASQL.1 (в этом запросе я ничего не менял). Что это может быть?


 
Соловьев ©   (2005-01-14 11:37) [5]

Переставляли там всё - бестолку

MDAC? JET?


 
Orc ©   (2005-01-14 12:06) [6]

и MDAC, и Jet, и SP8 на Jet. И даже BDE зачем-то поставил - не помогает :( Причём у меня всё нормально работает - под XP, 2003, эмуляция 98-95...


 
sniknik ©   (2005-01-14 12:37) [7]

> adoQuery1.ConnectionString:="Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы dBASE;Mode=ReadWrite;Initial Catalog=c:\recieve";
на английской винде этот DSN ODBS будет называться dBASE Files


 
Orc ©   (2005-01-14 13:26) [8]

Английская винда тут не причём. У меня как раз английская, а вот названия DSN"ов как раз и по-русский (только-что посмотрел и убедился).


 
sniknik ©   (2005-01-14 13:48) [9]

а какие пути внутри DSN-а? и не могут ли они у тебя отличатся от машины к машине? (кто их создает/использует кроме тебя?)

попробуй подключение строкой а не по DSN
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=dBASE Files;DBQ=C:\RECIEVE;DefaultDir=C:\RECIEVE;DriverId=533;MaxBufferSize=2048;PageTimeout=5;";Initial Catalog=C:\Recieve

"dBASE Files" естественно надо поменять на реально присутствуюший на конкретной машине.

а еще когда почемуто не работает выдает ошибку, часто там точное указание причины.


 
sniknik ©   (2005-01-14 14:07) [10]

да еще проверь, замени каталог RECIEVE на другой... у меня на нем почемуто какаято другая ошибка (возможно и связанная), хотя файлы в нем открывает (запросы работают).
ошибка
EOleException : Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена
именно при каталоге RECIEVE подключение через ODBC DSN, происходит на получении инфы о таблицах. (поля/типы/т.д.)



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

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

Наверх





Память: 0.46 MB
Время: 0.041 c
3-1105635464
misha_gr
2005-01-13 19:57
2005.02.13
проблемка с TADOQuery


14-1106669456
Piter
2005-01-25 19:10
2005.02.13
Вот такие письма иногда приходят - очередной лохотрон


14-1106592053
netnetnet
2005-01-24 21:40
2005.02.13
UPX


14-1106591407
Гарри Поттер
2005-01-24 21:30
2005.02.13
вопрос по ХР


3-1105424532
Russko
2005-01-11 09:22
2005.02.13
Работа с базами InterBase





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский