Форум: "Базы";
Текущий архив: 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