Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Lunatik
Всем доброго дня!

Цель подключиться к базе SQL, чтобы запросы к SQL базам ,можно было собирать в консоли запущенной в 1С.
С подключение по ADO проблем нет, цель в том что бы работать с таблицами SQL не перетаскивая их в 1С.

ODBC обновлял, стоят 11 и 13 версий.
На вкладке "Пользовательский DSN" Имя:Northwind , Драйвер: ODBC Driver 11 for SQL Server
На вкладке "Системный DSN" тоже самое.

При подключении в конфигураторе внешнего источника данных мастером на каждом шаге он задумывается и рождает вот такую строку:
DRIVER={ODBC Driver 11 for SQL Server};SERVER=kvazar;UID=sa;PWD=1234;DATABASE=Northwind
Когда строку беру со своей старой обработки подключается молниеносно:
driver={SQL Server}; server=kvazar; uid=sa; pwd=1234; Database=Northwind

Для большей ясности фрагмент кода:
Процедура ВывевтиКатегорииНажатие(Элемент)
    
    Соединяние = Новый COMОбъект("ADODB.Connection");
    ConnectionString = "driver={SQL Server}; server=kvazar; uid=sa; pwd=1234; Database=Northwind";
    Соединяние.ConnectionTimeOut =200;  
    Соединяние.CursorLocation = 2;
    Попытка
        Соединяние.Open(ConnectionString);
        Предупреждение("Соединение установлено");
    Исключение
        Предупреждение("Невозможно установить соединение");
    КонецПопытки;
    
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    dbo_Categories.Ссылка,
        |    dbo_Categories.CategoryID,
        |    dbo_Categories.CategoryName,
        |    dbo_Categories.Description,
        |    dbo_Categories.Picture
        |ИЗ
        |    ВнешнийИсточникДанных.Боерей.Таблица.dbo_Categories КАК dbo_Categories";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Сообщить(ВыборкаДетальныеЗаписи.CategoryName);
    КонецЦикла;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

КонецПроцедуры


Перед тем как потревожить уважаемое сообщество, плясал с бубном очень долго.

Спасибо большое, если кто откликнется
Acid
Lunatik @ Вчера, 22:13 необходимо зарегистрироваться для просмотра ссылки ,
Надо создать другого пользователя для базы, и установить его владельцем. Системный дсн можно удалить.
*Системный sa почему-то самопроизвольно отключается, хотя и остается как бы активным. Перерыл инет так и не нашел почему так происходит. Ну и разрядность надо сверить во всех софтах.
Batchir
Попробуйте запустить базу в управляемом режиме и открыть любую таблицу внешнего источника данных (через все функции).
Там указать всё тоже самое что указывали при подключении таблиц в конфигураторе.
1С запомнит параметры подключения (для всех пользователей) и не нужно их будет куда-либо вводить в коде.
Внешние таблицы будут доступны для чтения и записи.
Lunatik
Lunatik, Acid @ Сегодня, 8:58 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо. Проверил, не работает. Разрядность везде 32.
Flexy
Цитата(Lunatik @ 25.05.17, 21:13) необходимо зарегистрироваться для просмотра ссылки
На вкладке "Пользовательский DSN" Имя:Northwind , Драйвер: ODBC Driver 11 for SQL Server
На вкладке "Системный DSN" тоже самое.

Пробовали удалить Пользовательский и Системный DSN и перегрузиться?
Lunatik
Batchir @ Сегодня, 9:08 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо. Попробовл под "Такси", тоже самое. Есть чуйка, что где-то, какаого-то пустячка не хватает.

Flexy @ Сегодня, 13:12 необходимо зарегистрироваться для просмотра ссылки ,
Попробовал. Пишет "Соединение установлено", а таблиц не видит.
Flexy
Lunatik @ Сегодня, 12:32 необходимо зарегистрироваться для просмотра ссылки ,
Попробуйте дополнительно указать язык в строке подключения:
driver={SQL Server}; server=kvazar; uid=sa; pwd=1234; Database=Northwind;LANGUAGE=us_english
или
driver={SQL Server}; server=kvazar; uid=sa; pwd=1234; Database=Northwind;LANGUAGE=русский
Batchir
У себя в "такси" указал следующее при открытии внешней таблицы:
DRIVER={SQL Server Native Client 11.0};SERVER=MYSRV;UID=USR1CV8;PWD=USR1CV8PWD;APP=1C;DATABASE=MYDB;LANGUAGE=русский
Работает без проблем.
Таблица как вручную доступна для чтения изменения, так и регламентное задание имеет к ней доступ через НаборЗаписей (читает изменяет)
В коде нигде не прописывал строку соединения.
Lunatik
Batchir @ Сегодня, 14:51 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо. Заработало. Теперь только проверить, нужно ли указывать строку непосредственно в Предприятии.
Еще раз, большое спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.