|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Подключение БД MS Access
БД подключаю с помощью инструмента ADOConnection. На локальном компютере все работает, но когда переношу на другой комп. - говорит, что не видит БД (оно и не удивительно, так как идет жорсткая привязка к пути БД).
БД и exe-файл находятся в одной папке. Вопрос: как правильно подключить БД через ADOConnection так, чтобы программу можно было переносить на другие компюторы? |
#2
|
||||
|
||||
Вот пример
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
vah-smile (14.03.2014)
|
#3
|
||||
|
||||
Цитата:
Пример - работает, но вот только не могу его подключить к своей программе: Код:
procedure TForm1.FormCreate(Sender: TObject); begin ADOConnection1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + ExtractFileDir(ParamSTR(0)) + '\database.mdb;' + 'Mode=ReadWrite;Persist Security Info=False'; ADOConnection1.DefaultDatabase:='database.mdb' end; При запуске программы выдает ошибку: |
#4
|
||||
|
||||
Сменил "Mode=ReadWrite;" на "Mode=cmReadWrite;" Получил следующую ошибку: |
#5
|
||||
|
||||
Не мучайтесь, нажмите в обжект инспекторе на свойстве таблицы ConnectionString, соберите строку с помощью мастера, а затем просто замените в получившейся строке фиксированный патч до базы на ExtractFileDir(ParamSTR(0)) + "\database.mdb", прям по образцу (можно проверить потом успешное подключение), его и используйте в сборке
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#6
|
||||
|
||||
Цитата:
Да так и делаю (сформировал строку с помощью мастера и вбил в код TForm1.FormCreate). Код:
prog_dir:=ExtractFileDir(ParamStr(0))+'\'; ADOConnection1.ConnectionString:='Provider=MSDASQL.1;'+ 'Persist Security Info=False;'+ 'User ID=admin;'+ 'Mode=ReadWrite;'+ 'Extended Properties="DSN=MS Access Database;'+ 'DBQ='+prog_dir+'database.mdb;'+ 'DefaultDir='+ prog_dir + 'DriverId=25;'+ 'FIL=MS Access;'+ 'MaxBufferSize=2048;'+ 'PageTimeout=5;'+ 'UID=admin;'; ADOConnection1.DefaultDatabase:= prog_dir+'database.mdb;' При запуске получаю ошибку: Меня еще что смущает в коде так это параметр UID=admin (без пароля). Можно ли здесь обойтись логином и паролем к БД? |
#7
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#8
|
||||
|
||||
Вас вот эта строчка не смущает? Меня смущает...
Код:
Extended Properties="DSN=MS Access Database; Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |