Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2013, 19:05   #1
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию ADOConnection связь с базой

как сделать так чтобы программа подключалась к базе если она находится в той же папке где сама программа?а то у меня грубая статичная привязка к базе и когда переношу прогу с базой на другой комп то ниче не работает, приходиться на том компе делать такие же папки как и на моем чтоб адрес совпадал, формат базы .accdb.
вот connection.dsn
Код:
[ODBC]
DRIVER=Microsoft Access Driver (*.mdb, *.accdb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=MS Access
DriverId=25
DefaultDir=D:\Мои документы\RAD Studio\Projects\обратившиеся
DBQ=D:\Мои документы\RAD Studio\Projects\обратившиеся\obr.accdb
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 25.05.2013, 19:29   #2
GoodDA
фрилансер
Форумчанин
 
Аватар для GoodDA
 
Регистрация: 18.07.2008
Сообщений: 107
По умолчанию

path := ExtractFilePath(Application.ExeName ) + 'db.mdb';
s := 'Provider=Microsoft.Jet.OLEDB.4.0;D ata Source=' + path + ';Persist Security Info=False';
ADOConnection1.ConnectionString := s;
ADOConnection1.Connected := true;
GoodDA вне форума Ответить с цитированием
Старый 25.05.2013, 20:31   #3
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

Код:
var
s, path: string;
begin
path := ExtractFilePath(Application.ExeName ) + 'obr.accdb';
s := 'Provider=Microsoft.Jet.OLEDB.4.0;D ata Source=' + path + ';Persist Security Info=False';
datamodulform.ADOConnection1.ConnectionString := s;
datamodulform.ADOConnection1.Connected := true;
невозможно найти устанавливаемый ISAM пишет при запуске
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 25.05.2013, 20:46   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если в именах каталогов или файла есть пробелы, то полное имя файла взять в двойные кавычки "
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.05.2013, 21:14   #5
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

блин ребята я ничего не понимаю, пробелы у меня в названиях есть, и даже если у меня их нет то на другом компе они могут быть, я не хочу привязывать ее к какому то конкретному пути, наоборот чтоб просто в той же папке с прогой была и чтоб работала, а с этим новым форматом .accdb у меня одни проблемы, строка соединения вообще по другому создается, раньше с mdb было все проще и понятно а щас я делаю так
дабл клик по adoconnection-build-microsoft ole db provider for odbc drivers-далее-использовать строку соединения-сборка-создать-выбираю из списка microsoft access driver(mdb, accdb)-далее-обзор-указываю базу-готово-выбрать-выбираю свою базу-ок-ок-ок
короче вот как то то так я создаю строку подключения
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 25.05.2013, 21:19   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А разве Microsoft.Jet.OLEDB.4.0 ест accdb? Впрочем не важно, тот который ест, скопируй нормальную строку соединения созданную в дизайне и в нужное место вставь полное имя своей базы в двойных кавычках. Если используешь ODBC, то там тоже самое
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.05.2013 в 21:22.
Аватар вне форума Ответить с цитированием
Старый 25.05.2013, 21:33   #7
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

вот что у меня в adoconnection при двойном щелчке Provider=MSDASQL.1;Persist Security Info=False; это то?куда и что тут вставить?

опять какая то путаница, первый раз когда создаю строку в конекшн стринг находится вот это
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DBQ=D:\Мои документы\RAD Studio\Projects\обратившиеся\obr.ac cdb;DefaultDir=D:\Мои документы\RAD Studio\Projects\обратившиеся;Driver ={Microsoft Access Driver (*.mdb, *.accdb)};DriverId=25;FIL=MS Access;FILEDSN=D:\Мои документы\RAD Studio\Projects\обратившиеся\connec tion.dsn;MaxBufferSize=2048;MaxScan Rows=8;PageTimeout=5;SafeTransactio ns=0;Threads=3;UID=admin;UserCommit Sync=Yes;"
а потом когда нажимаю ОК и закрываю и открываю заново то там вот это
Provider=MSDASQL.1;Persist Security Info=False;
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны

Последний раз редактировалось Stilet; 26.05.2013 в 12:47.
betirsolt вне форума Ответить с цитированием
Старый 25.05.2013, 23:27   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
обратившиеся
ужас
Цитата:
а потом когда нажимаю ОК и закрываю и открываю заново то там вот это
это удивительно
и что не конектится?
eval вне форума Ответить с цитированием
Старый 25.05.2013, 23:46   #9
betirsolt
Форумчанин
 
Регистрация: 20.07.2009
Сообщений: 421
По умолчанию

коннектится, но в этом случае база должна находиться именно по этому пути
Уважаемые модераторы, Я всячески стараюсь не нарушать правила сайта, будьте снисходительны
betirsolt вне форума Ответить с цитированием
Старый 26.05.2013, 00:38   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ну стало быть все нормально.
ваще путь к базе проще и правильнее держать гдето в конфигурационном файле,
чтобы не быть зависимым от жестких путей, ну а конекшнстринг прописывать в коде, использую тот самый путь из конфига.
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связь делфи с базой данных access q123ser87 Помощь студентам 1 19.05.2012 15:28
Управление базой данных,связь Word и Excel doublek Помощь студентам 0 07.12.2011 23:40
Если есть ЕХЕ, который работает с mySQL базой и сайт тоже с базой. Можно ли прикрутить ЕХЕ на сторону сервера? TwiX Софт 1 18.11.2011 16:14
ADOCONNECTION T@tali Общие вопросы Delphi 17 27.05.2010 18:07
БД в делфи, связь с базой Access -BlindGuardian- Помощь студентам 4 27.01.2010 03:00