Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > ADOConnection


Автор: MacTep 3.5.2006, 20:56
Как проверить, существует ли файл базы данных MS Access, к которому я хочу подсоединиться при помощи компонента ADOCOnnection? 

Автор: Vit 3.5.2006, 21:07
FileExists 

Автор: MacTep 3.5.2006, 21:12
Это ясно. Но как само название файла базы данных вытянуть из ConnectionString. Это реально? 

Автор: Vit 3.5.2006, 21:34
ЕСли Jet 4 провайдер - то оно прямо написано в строке - бери да читай, а если ODBC DSN то надо читать в реестре что с DSN ассоциировано 

Автор: MacTep 3.5.2006, 21:48
Цитата(Vit @  3.5.2006,  21:34 Найти цитируемый пост)
ЕСли Jet 4 провайдер - то оно прямо написано в строке - бери да читай
То есть какого-либо другого, более простого способа нет, да? smile Только юанальное чтение из строки? Просто я думал, может какое свойство есть казырное. smile Ну да ладно... если нет, буду так разбираться... 

Автор: Vit 3.5.2006, 22:29
Нету конечно... Строка подключения инициализирует указанный драйвер (провайдер) базы данных, провайдеру передаётся остальная строка, провайдер знает что с ней делать... Компоненты Дельфи и ADO/MDAC в целом НИЧЕГО не знают об использованном драйвере кроме того что такой есть в системе... А драйвер по сути мало что знает о базе данных. Например я могу подключится к MS SQL Server и никак не узнать где физически лежат его базы данных, если мне сисадмин запретит читать системные таблицы, а могу сам написать свой провайдер для ADO и Дельфи будет прекрасно с ним работать но не будет иметь ни малейшего понятия где мой собственный провайдер берёт данные. Т.е. задача решаема только для конкретного используемого провайдера с учётом тех данных который конкретно этот провайдер использует. 

Автор: MacTep 4.5.2006, 12:04
to  Vit:
Все ясно, спасибо за столь распространенное объяснение. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)