Конференция "Базы" » TService и ole db provider for visual foxpro [D7, dBase, FoxPro]
 
  • bbcha (26.03.13 21:01) [0]
    Друзья, нужна номощь.

    Есть совершенно обычная оконная программа (TForm). В ней, в частности, с помощью TADOConnection, происходит подключение к базе данных 1С через ole db provider for visual foxpro.
    На базе этой программы делаю сервис (TService). В событии OnStart прописываю следующий код:
    conn1C.ConnectionString := 'Provider=VFPOLEDB.1;Data Source=' + Path_1C + ';Collating Sequence=RUSSIAN;';
    conn1C.Open;

    .

    При запуске сервиса он вылетает с ошибкой:  Service failed on start: Не удается найти указанный поставщик. Вероятно, он установлен неправильно.


    При этом оконное приложение с точно такой же строкой подключение работает без замечаний. И в design-mode соединение тоже устанавливается без проблем даже в сервисе.

    Может кто сталкивался с таким? Помогите пожалуйста.
  • знайка (26.03.13 21:04) [1]
    У вас в сервисе нет нициализации сом-а.
  • bbcha (26.03.13 21:11) [2]
    Есть. Первой строчкой в событии OnStart идет
    CoInitialize(nil);


    Без нее сервис вылетает с другой ошибкой
    Service failed on start: Не был произведен вызов CoInitialize
  • bbcha (26.03.13 21:13) [3]
    На сомом деле в сервисе производится подключение двух TADOConnection
    connST.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + Path_ST + ';Persist Security Info=False';
    connST.Open;
    conn1C.ConnectionString := 'Provider=VFPOLEDB.1;Data Source=' + Path_1C + ';Collating Sequence=RUSSIAN;';
    conn1C.Open;



    Так вот, первое подключение проходит, а второе завершает сервис с ошибкой:
    Service failed on start: Не удается найти указанный поставщик. Вероятно, он установлен неправильно.
  • sniknik © (26.03.13 21:22) [4]
    провайдер может быть установлен для юзера... (как устанавливал? сетапом для всех или регистрировал dll только для текущего?) попробуй запустить сервис от того юзера из под которого устанавливал.

    >  а второе завершает сервис с ошибкой:
    а этот конект в обычной программе без ошибки?
  • bbcha (26.03.13 22:21) [5]

    > sniknik


    Огромное спасибо. Лоханулся именно в этом - установка по умолчанию для конкретного юзера. Переставил провайдер для всех. Сервис заработал.
    Вопрос закрыт, всем спасибо!
 
Конференция "Базы" » TService и ole db provider for visual foxpro [D7, dBase, FoxPro]
Есть новые Нет новых   [119503   +126][b:0][p:0.001]