Главная страница
    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.47 MB
Время: 0.043 c
14-1106577405
PZ
2005-01-24 17:36
2005.02.13
Крупнейшее зелетрясение в Китае (1556 г.)


4-1103891912
arick
2004-12-24 15:38
2005.02.13
Аттач к письму!!!


1-1107084373
ТехникПТО
2005-01-30 14:26
2005.02.13
Вопрос по ListBox у


3-1105807473
Nata
2005-01-15 19:44
2005.02.13
изменить номера записи


6-1101657078
Muhan
2004-11-28 18:51
2005.02.13
Кто знает, как можно обойти это прикол??





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