Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

проблема соединения с базой (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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
14-1098090763
blackman
2004-10-18 13:12
2004.11.07
Посмотрите пожалуйста видно ли сайт.


3-1097072048
Akoli
2004-10-06 18:14
2004.11.07
Создаю DBF как задать размер поля Integer?


14-1098293517
Knight
2004-10-20 21:31
2004.11.07
Вот сколько в Delphi пользуюсь и только сейчас возник вопрос...


14-1097494907
Delphis
2004-10-11 15:41
2004.11.07
самая лучшая стратегия


1-1098612406
DremLIN
2004-10-24 14:06
2004.11.07
Дизайнер форм Run-Time + FastScript ... Подскажите варианты плиз