Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема подключения к бд SQL Server
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
vegas
Доброе время суток!

1С:Предприятие 8.2 (8.2.14.540), конфигурация УПП.

Создал свой общий модуль в котором пытаюсь подключится к бд SQL Server.

Текст модуля:

Процедура ЗаписьСтроки() 
    
    Перем Соединение;
    
    Попытка
        Соединение = Новый COMОбъект("ADODB.Connection");
        ПараметрыСоединения = "DRIVER={SQL Server};SERVER=server;UID=user;PWD=pas;APP=user;WSID=server;DATABASE=mybase";        
        Соединение.Open(ПараметрыСоединения);
        
ЛогФайл = Новый ТекстовыйДокумент;
ЛогФайл.ДобавитьСтроку("Соединение.......ОК!");
ИмяЛогФайла = ("C:\err.log");
ЛогФайл.Записать(ИмяЛогФайла);    
        
    Исключение        
ЛогФайл = Новый ТекстовыйДокумент;
ЛогФайл.ДобавитьСтроку(Строка(ТекущаяДата()) + " - " + ОписаниеОшибки());
ИмяЛогФайла = ("C:\err.log");
ЛогФайл.Записать(ИмяЛогФайла);            
        
    КонецПопытки;
КонецПроцедуры

Процедура РегламентноеЗадание1() Экспорт
    // Вставить содержимое обработчика.
    ЗаписьСтроки();
КонецПроцедуры


Если вызываю этот модуль обычной обработкой все работает, но если это все заставить работать через рег задачи, выдает следующую ошибку:


{ОбщийМодуль.vegas_МодульСинхронизацииРаботников.Модуль(9)}: Помилка при виклику методу контексту (Open): Відбулася виняткова ситуація (ADODB.Connection): Поставщик не указан, и не назначен поставщик по умолчанию.

Дополнительные данные:
Сервер находится в домене, учетная запись с под которой запущен сервер 1с имеет права локального администратора.
Сама база также крутиться на SQL Server.

Кто встречался с подобной проблемой просьба помочь.

Заранее благодарен.


 ! 

Правила, п.3. Последнее предупреждение! (перемещение)
 
logist
Попробуйте вместо Драйвера использовать Провайдер.

необходимо зарегистрироваться для просмотра ссылки
Vofka
SQLConnection = Новый COMОбъект("ADODB.Connection");
    
    ServerName = "192.168.1.159"; //имя или IP-адрес сервера
    DSN = "**";        //имя базы данных
    UID = "**";             //логин пользователя SQL-сервера
    PWD = "**";      //пароль пользователя SQL-сервера
    ConnectString = "Provider=SQLOLEDB;" +
                    "Data Source=" + ServerName +
                    ";Initial Catalog=" + DSN +
                    ";UID=" + UID + ";PWD=" + PWD;
    SQLConnection.ConnectionString = ConnectString;
    SQLConnection.ConnectionTimeOut = 15;
    SQLConnection.CommandTimeout = 30;
    //Подключаемся к базе данных
    Try
        SQLConnection.Open();        
    Except
        #Если Клиент Тогда
            Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
        #КонецЕсли
        
        SQLConnection = Неопределено;
        
    EndTry;
    
    Возврат SQLConnection;
vegas
Цитата(Vofka @ 02.08.12, 19:36) необходимо зарегистрироваться для просмотра ссылки
SQLConnection = Новый COMОбъект("ADODB.Connection");
    
    ServerName = "192.168.1.159"; //имя или IP-адрес сервера
    DSN = "**";        //имя базы данных
    UID = "**";             //логин пользователя SQL-сервера
    PWD = "**";      //пароль пользователя SQL-сервера
    ConnectString = "Provider=SQLOLEDB;" +
                    "Data Source=" + ServerName +
                    ";Initial Catalog=" + DSN +
                    ";UID=" + UID + ";PWD=" + PWD;
    SQLConnection.ConnectionString = ConnectString;
    SQLConnection.ConnectionTimeOut = 15;
    SQLConnection.CommandTimeout = 30;
    //Подключаемся к базе данных
    Try
        SQLConnection.Open();        
    Except
        #Если Клиент Тогда
            Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
        #КонецЕсли
        
        SQLConnection = Неопределено;
        
    EndTry;
    
    Возврат SQLConnection;

Спасибо огромное, через провайдер все заработало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.