Re: ADOConnection - проблем с переоткрытием
От: Palich  
Дата: 07.01.05 21:22
Оценка:
Здравствуйте, Sergey__, Вы писали:


S__>//в этой строке ADOConnection.ConnectionString='FILE NAME=D:\Work\MCHS\BIN\MCHSProject.udl'

S__>ADOConnection.Open;
S__>//в этой строке
S__>(*ADOConnection.ConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=.\data\MCHS.mdb;Mode=Share Deny None;Extended Properties="";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'
S__>*)

S__>//здесь все o.k. — TADODataSet — нормально открываются


S__>ADOConnection.Close;


S__>... поскипано, но здесь обращений к ADOConnection — нет



S__>//в этой строке ADOConnection.ConnectionString='FILE NAME=D:\Work\MCHS\BIN\MCHSProject.udl'

S__>ADOConnection.Open;

S__>//здесь я получаю ошибку: Строка 'd:\Temp\MCHSProject\data\MCHS.mdb' задает ошибочный путь. Проверьте, что путь задан правильно и имеется подключение к серверу, на котором находятся файлы


S__>откуда появляется строка d:\Temp... ?!?


S__>подозреваю, что проблема связана с тем, что в ConnectionString указан путь к 'udl'

S__>т.к. при работе с путем, ведущем непосредсвенно к 'mdb' — всё работает


В общем может мой трёп тебе чем-нить поможет....
Я больше по Delphi шарю, так что извиняй сразу, если ступлю.
Однако, на сколько я помню, в С++ слэш в пути к файлу надо указывать либо двойным (\\) либо обратным (/). Но это мелочи.
Возможная трабла (ни дай бог, что бы это была она): Винда делает такую нехорошую вешь, как кеш подключений (я с этим в SQL-сервере намучился — пока приложение не перезапустишь, сервер ругался что база используется, хотя я ADOConnection перекидывал на базу с другим именем и она нормально открывалась) От этого бага я так и не смог избавиться.
Могу дать совет — забей на UDL. Я это уже давно сделал. Используй лучше просто строку соединения. Поменял прямо в ней имя файла и радуешься . Да и короче эта строка получается, а как известно, чем проще, тем надёжнее... Удачи в таком нелёгком деле, как программирование!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.