СообЧа > База Знаний > Базы данных

Вопрос

У меня такая проблема. Программа работает с базой данных Access. Путь к ней и драйвер (Microsoft Access Driver (*.mdb)) прописывается в ODBC при инсталяции. Но на некоторых машинах почему-то возникает ошибка при соединении с базой данный. Не видит программа базу. Т.е. на одном компе все нормально, на другом компе — нет соединения с базой. ADOConnection не может соединиться. Ошибка возникала под 98 виндой.

Ответ

Очень удобно работать с «Microsoft.Jet.OLEDB.4.0» в качестве провайдера.
В connectionstring можно на лету прописать например:

sc := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";'
+
'User ID=Admin;Mode=Share Deny None;'
+
'Extended Properties="";Locale Identifier=1033;'
+
'Jet OLEDB:System database="";'
+
'Jet OLEDB:Registry Path="";'
+
'Jet OLEDB:Database Password="";'
+
'Jet OLEDB:Engine Type=5;'
+
'Jet OLEDB:Database Locking Mode=1;'
+
'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';
cs := 'Data Source=\\srv\Base\my.mdb;
+ cs;
Connection := true;
tablya.open;


И при инсталляции никого прописывать не нужно.
Строку: 'Data Source=\\srv\Base\my.mdb;' (в конце ';' обязательно) можно читать например из *.ini

Т.е. можно пользоваться не одной базой, или одной с разных компьютеров, или…
И привязать можно врукопашную, поправив в блокноте путь к базе. Во общем, куча удобностей, по сравнению с альясами.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация