| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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, 22:29 |
| Нету конечно... Строка подключения инициализирует указанный драйвер (провайдер) базы данных, провайдеру передаётся остальная строка, провайдер знает что с ней делать... Компоненты Дельфи и ADO/MDAC в целом НИЧЕГО не знают об использованном драйвере кроме того что такой есть в системе... А драйвер по сути мало что знает о базе данных. Например я могу подключится к MS SQL Server и никак не узнать где физически лежат его базы данных, если мне сисадмин запретит читать системные таблицы, а могу сам написать свой провайдер для ADO и Дельфи будет прекрасно с ним работать но не будет иметь ни малейшего понятия где мой собственный провайдер берёт данные. Т.е. задача решаема только для конкретного используемого провайдера с учётом тех данных который конкретно этот провайдер использует. |
| Автор: MacTep 4.5.2006, 12:04 |
| to Vit: Все ясно, спасибо за столь распространенное объяснение. |