8.х Не получается подключиться к БД Oracle из 1С

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Gucci76, 10 окт 2019.

  1. TopicStarter Overlay
    Gucci76
    Offline

    Gucci76 Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Исходные данные:
    База оракл на своем сервере.
    База 1С (пока в файловом варианте) на своем.
    Пытаюсь подключиться к Оракл из 1С
    Никак не получается.

    Изучил тему:
    http://1c-pro.ru/threads/podkljuchenie-k-vneshnej-bd-oracle.60423/#post-395196 Не помогло
    Это список установленных драйверов на клиенте где подключаюсь
    [​IMG]

    https://www.connectionstrings.com/oracle/ тут беру возможные варианты строк подключения

    Я пробовал строку подключения
    driver={Oracle in OraClient11g_home3}; uid=****; pwd=***; Dbq=WMSDB

    Ошибка:
    {ВнешняяОбработка.ПроверкаПодключения.Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию

    Может источник данных, что я указал Dbq=WMSDB не правильный?

    Тут https://www.connectionstrings.com/oracle-in-oraclient11g_home1/
    есть три варианта строки подключения, но надо еще знать Server=serverSID,но я не понял о чем речь.

    Тут https://www.connectionstrings.com/microsoft-ole-db-provider-for-oracle-msdaora/
    указана другая строка подключения Provider=msdaora;Data Source=WMSDB;User Id=***; Password=***
    Она выдает другую ошибку:
    {ВнешняяОбработка.ПроверкаПодключения.Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for Oracle): Не найден клиент Oracle и сетевые компоненты. Компоненты предоставляются корпорацией Oracle и входят в клиентское программное обеспечение Oracle версии 7.3.3 или более поздней.
    Невозможно использовать данный поставщик, пока не будут установлены эти компоненты.


    Provider=OraOLEDB.Oracle;User Id=***; Password=***; Data Source=WMSDB
    Ошибка:"{ВнешняяОбработка.ПроверкаПодключения.Форма.Форма.Форма(17)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно."

    Это я уже пошел методом научного тыка пробовать.
    Мне кажется базу надо более детально что-ли указать. Должен быть как то сервер указан где она расположена, т.к. компьютеры то разные.
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.786
    Симпатии:
    1.021
    Баллы:
    204
    Используйте:
    Driver={Oracle in OraClient11g_home3}; uid=****; pwd=***; Dbq=WMSDB.

    WMSDB - это наименование сервиса должно быть указано в TNSNames.ora.
  3. TopicStarter Overlay
    Gucci76
    Offline

    Gucci76 Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Спасибо. Попробую.
    А подключаться надо
    НаСервере или НаКлиенте?
    Смотрю синтаксис-помощник COMОбъект (COMObject) доступен и на сервере и на клиенте.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.786
    Симпатии:
    1.021
    Баллы:
    204
    Желательно на сервере.
  5. TopicStarter Overlay
    Gucci76
    Offline

    Gucci76 Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Я писал в процедуре на сервере.
    Значит список драйверов тоже надо посмотреть на сервере 1С?
  6. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.786
    Симпатии:
    1.021
    Баллы:
    204
    Конечно.
  7. TopicStarter Overlay
    Gucci76
    Offline

    Gucci76 Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Спасибо
  8. TopicStarter Overlay
    Gucci76
    Offline

    Gucci76 Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Скажите, а если машины где находятся базы разные, то где в строке указание на нужный комп?
    Или в параметре "Dbq=.." указывается информация, которой достаточно для поиска базы на других серверах?
    Или я видел в других строках подключения параметр Server=...
  9. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.786
    Симпатии:
    1.021
    Баллы:
    204
    В dbq указывается имя сервиса. В файле описания этих сервисов TNSNames.ora на локальной машине/сервере 1с должно быть указано, на какой машине живет каждый сервис.
    Gucci76 нравится это.
  10. TopicStarter Overlay
    Gucci76
    Offline

    Gucci76 Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Спасибо, что объясняете.
    До этого сталкивался с удаленным подключением. Но там все без проблем проходило. Видимо сразу давали верную строку подключения.