![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO + TServices [D6]
ak © (2003-01-02 11:12:00)Доброе время суток, соплеменники.
Ну, для начала, ВСЕХ С НОВЫМ ГОДОМ! Желаю всем море радости, счастья,
успехов в личной жизни.
Есть такой вопрос.
Cуть в следующем.
Сначала я написал программу (с формочкой) в которой с помощью АДО
обращался к базе MS Access, отладил ее, все работало здорово. Потом
решил переделать это дело под сервис. С нуля создал проект, написал
все как положено, НО не работает. Происходит ошибка при попытке
подключения к базе. Вот фрагмент:
with dmVoIP do //dmVoIP - Data Module
begin
//берем настройки подключения к базе из файла VoIP2DB.udl в "своем" каталоге
cntBase.ConnectionString:="FILE NAME="+ExtractFilePath(ParamStr(0))+"VoIP2DB.udl";
cntBase.Open("",""); // ПРОИСХОДИТ ОШИБКА!!!!
dstBase.Connection:=cntBase; //связываем TADODataSet и TADOConnect
dstBase.CommandType:=cmdTable; //работаем с таблицей
dstBase.CommandText:="VoIP - журнал"; //работаем с таблицей "телефонный журнал"
dstBase.Active:=true; //активируем TADODataSet
end;
Ошибка происходит при выполнении функции OPEN() класса TADOConnect.
Весь прикол в том, что если я все это делаю через Обжект Инспектор, то
база открывается! Я искал ответы в разных статьях в инете, в книгах,
но ничего не нашел :( Наверняка, глупость какая-то. Может вы,
уважаемые, подскажите в чем тут дело?
ak (2003-01-02 11:56:00) [21]2 sniknik
А можно чуточку подробнее? Буду благодарен.
sniknik (2003-01-02 11:51:00) [22]При работе с базой в сервисе нужно делать
CoInitialize(nil);
...
CoUnInitialize();
???
ak (2003-01-02 11:48:00) [23]У меня стоит все по дефолту. Я сижу с админскими правами, значит и сервис запускается с ними же. Или нет?
Anatoly Podgoretsky (2003-01-02 11:17:00) [24]А от имени какого пользователя стартует твой сервис, не с этим ли дело?