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

Вниз

проблема соединения с базой (dbase через ADO) на разных компах   Найти похожие ветки 

 
NewGuest   (2004-09-28 16:13) [0]

Есть приложение для работы с таблицами dbase(*.dbf). Соединение с таблицами происходит через ADO. Строка соединения, такая:

ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;" +
    "User ID=Admin;Data Source=" + FirmListPath + ";" +
    "Mode=Share Deny None;Extended Properties=dBase III;Jet DB:" +
    "System database="";Jet OLEDB:Registry Path="";" +
    "Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=16;" +
    "Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;" +
    "Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";"+
    "Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;"+
    "Jet OLEDB:Don""t Copy Locale on Compact=False;" +
    "Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";


Так вот, на моем компе все работает, на другом работает, на третьем - а на 4-ом ни в какую. Пишет: неподдерживаемый формат данных. На всех компах - w2k+sp4.
Пробовал ставить mdac2_7, экспортировал ветку реестра с работающего, с данным приложением, компа, на неработающий (HKEY_LOCAL_MACHINE\Software\Microsoft\Jet) - все едино. Не работает. Так в чем же дело?


 
sniknik ©   (2004-09-28 16:58) [1]

mdac2_7 не содержит jet (подключение к нему) т.что это было бессмысленно.
поиши на мелкософте
Jet40SP6_W2K.exe (или поновее SP7/8)

> на третьем - а на 4-ом ни в какую.
на сапись работаеш? BDE на нем стоит?

строку можно прпроще
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ FirmListPath +";Mode=Share Deny None;Extended Properties=dBase III;Persist Security Info=False"
(тоже проверь, лишние параметры, лишняя привязка к версии)


 
KSergey ©   (2004-09-29 06:04) [2]

А с dBase - jet работает???

А в mdac2_7 изначально jet уже не входит. Она одельно идет (искать где-то там же). Либо предыдущую версию поставить


 
KSergey ©   (2004-09-29 06:06) [3]

Пока пропихнул пост - давно уже ответили, оказывается ;)


 
NewGuest   (2004-09-29 10:56) [4]

Поставил BDE - все заработало. Видимо, пробел в образовании - я думал, если я использую ADO, то BDE мне без надобности. Хотя надо признать, что на всех компах, где я использовал свои приложения с подключением к базам через ADO BDE уже было - есть же старые проги. Значение сему факту, я, до последнего времени не придавал - как оказалось зря. А тут еще запись в реестре HKLM\Software\Microsoft\Jet\4.0\Engines\XBase
win32="C:\WINNT\System32\msxbde40.dll" - я думал это самостоятельный движок, а тут надо еще BDE ставить. :-( Может ему надо одну какую-то dll-ку подсунуть вместо целого BDE, а?


 
sniknik ©   (2004-09-29 11:13) [5]

> я думал это самостоятельный движок, а тут надо еще BDE ставить.
если на чтение то хватит, того ограниченого, что в поставке jet-а, а на запись не хватит, он на запись не работает, но если стоит полная версия BDE (нормальная! никаких dll-ек) то используется она. (преимущество полных установок, один раз ставится, все используют, и глюков не имеют!)


 
iZEN ©   (2004-10-07 08:21) [6]

Неужели нельзя без BDE?
Мне здесь говорят, что необходима спец.сформированная строчка для ConnectionString...


 
sniknik ©   (2004-10-07 08:43) [7]

можно. есть компоненты работающие с dBase есть определенные условия при которых ADO со "спец." ;о) строкой сработает. есть провайдеры(могут быть, или если напишут будут) которых можно доставить. в принципе и ISAM-ы в jet-е "нарашиваемые", доставляются (правда тоже не видел таких).

в этом случае стандартный jet, который так работает в 2х вариантах, на запись с BDE.

реально же, уже никому не нужно писать чтото что будет заранее "древнее навоза от мамонта", имею ввиду производителей драйверов. тем более если уже есть BDE, и неплохо справляется кстати.


 
Anatoly Podgoretsky ©   (2004-10-07 09:03) [8]

Не хороший путь выбран для dBase III
ADO-JET-BDE два звена лишних, к тому же кроме этого на некоторых компьютерах придется еще устанавливать и DCOM итого 13 метров инсталяция, а работа все равно пойдет через БДЕ (3.5 мб). Решение или отказ от двух первых звеньев или отказ от JET-BDE в пользу какого либо другого движка.


 
iZEN ©   (2004-10-07 10:04) [9]

http://delphimaster.net/view/15-1097122070/

Skyle ©   (07.10.04 08:35) [1]
А в чём сложность?
Например
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=Файлы dBASE;DBQ=D:\ByDBFList;DefaultDir=D:\MyDBFList;DriverId=533;MaxBufferSize=2048;PageTimeout=5;"


 
sniknik ©   (2004-10-07 11:33) [10]

> А в чём сложность?
"сложности" в составлении нет ты прав, сложности начнутся после.

сдесь используется подключение к ODBC "стандартный" DSN.

сложность первая он вовсе не обязателен (!!!) на машине, его могут удалить или не поставить.

вторая даже если он есть название его в разных виндах разное (в английской это "Files dBase")

это обходится простым указанием драйвера вместо DSN
но
возникает третья сложность одна версия ODBC драйвера вовсе не обязана понимать настройки другой, а указывать их приходится ведь ему неоткуда брать начальные значения (DSN то нет, не указан), а дефаултные могут не подойти. (не часто но это нарываются, проскакивали вопросы на форуме)

и сложность четвертая непреодолимая ;о), с некоторых пор мелкософт не развивает ODBC, но поддержку старого делать обязан, наверное поэтому (думаю так) было сделан "ход конем", odbc-шные драйвера стали заменятся jet-ом на делающие простой редирект на тот же jet... у которого как было сказано "особые" отношения с BDE.

все это вместе не делает это (и другие подобные) решения универсальными (как обычно преподносят), если у кого работает во многих местах то только по счастливой случайности. универсально носить все используемое с собой (инсталяшка с BDE, включение движка в код, dll, ... и т.д.).


 
Aleksey V.P.   (2004-10-07 11:41) [11]

В начале года делал проект, D7, ADO dbf. Намаялся сильно. В результате, выяснил, что для нормальной работы программы достаточно  DNS файлов, название таблиц не больше 8 символов (это если BDE нет), для Win9x надо MDAC2_5_sp3, для WinNT и далее MDAC2_6. В этих пакетах есть Jet, который собственно и работает с dbf и прочим калом на эту тематику.


 
sniknik ©   (2004-10-07 11:55) [12]

> В этих пакетах есть Jet
в MDAC2_6 нет.



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

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

Наверх




Память: 0.5 MB
Время: 0.036 c
4-1096535278
bSava
2004-09-30 13:07
2004.11.07
NT аутентификация


1-1098435162
snake1977
2004-10-22 12:52
2004.11.07
TreeView


11-1082613842
Falcon
2004-04-22 10:04
2004.11.07
свойство Position в KolMPEGPlayer


1-1098740749
Vov
2004-10-26 01:45
2004.11.07
Даты


3-1097385077
sten
2004-10-10 09:11
2004.11.07
Копирование таблиц между базами Access





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