Вход | Регистрация


1С:Предприятие ::

Метки: 

ODBC. На файловой работает, на SQL не работает

Я
   Slon747
 
10.10.17 - 08:28
На файловой 8.3.8.2322 x32 подключается к внешнему источнику данных MySQL нормально.
В клиент-серверном варианте тот же релиз, (клиент x32, сервер х64) возникает ошибка еще в конфигураторе, при попытке подключения к внешнему источнику.
На клименте Win7 x64. ODBC-драйвер стоит x32, т.к. 1С тоже х32.
Пробовал удалить ODBC-драйвер x32 и ставить х64, не помогло.
В чем может быть дело?

Описание: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
 
 
   MM
 
1 - 10.10.17 - 08:35
(0) Где создаётся объект ODBC?
Если на клиенте то работать будет как и на файловой, а если на сервере 1С, то нужен  драйвер той же битности что и сервер (64х).
Т.е. в каком процессе ОС создаёшь объект ODBC, ту битность ДЛЛ и нужно установить, зарегистрировать и тд.
   Slon747
 
2 - 10.10.17 - 09:03
(1) Если подключаюсь через конфигуратор, то на клиенте. Клиентская 1с х32, значит и ODBC должен быт х32.
   vde69
 
3 - 10.10.17 - 09:05
(2) как ты использовать его будешь?

на сколько я понимаю в основном на сервере, значит нужно ставить на сервер...
   Slon747
 
4 - 10.10.17 - 09:57
(3) Действительно, так.
Установил на сервер ODBC x64 и на сервере же проверил в конфигураторе - таблицы сервера MySQL отобразились.
Там же на сервере через Предприятие пытаюсь подключиться, пишет:
-------------
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
-------------

В чем же теперь дело?
   МимохожийОднако
 
5 - 10.10.17 - 09:58
(4) Делай на клиентской стороне использование этого драйвера.
   Slon747
 
6 - 10.10.17 - 10:06
(5) На клиенте поставил ODBC x64.
Подключаюсь через конфигуратор - успешно.
Подключаюсь через Предприятие:
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): Не удается загрузить указанный драйвер из-за системной ошибки  193:  (MySQL ODBC 5.1 Driver, C:\Program Files (x86)\MySQL\Connector ODBC 5.1\myodbc5.dll).

    СтрокаСоединенияССерверомOpencart = "
            |DRIVER={MySQL ODBC 5.1 Driver};
            |SERVER=" + Ссылка.СерверMySQL + ";
            |DATABASE=" + Ссылка.БазаДанных + ";
            |UID=" + Ссылка.ИмяПользователяMySQL + ";
            |PWD=" + Ссылка.ПарольПользователяMySQL + ";";
    
    Клиент = Новый COMОбъект("ADODB.Connection");
    Клиент.ConnectionString = СтрокаСоединенияССерверомOpencart;
    
    Попытка
        Клиент.Open();
    Исключение
        СообщениеОбОшибке(ОписаниеОшибки());
        Возврат Ложь;
    КонецПопытки;


При этом в строке подключения те же данные, что и в конфигураторе.
   бомболюк
 
7 - 10.10.17 - 10:22
может 5.3 поставить?
   perester
 
8 - 10.10.17 - 10:26
(6) Попробуй запустить с компьютера сервера, получится?
   Slon747
 
9 - 10.10.17 - 10:29
(8) Пробовал. Описал в (4)
   vde69
 
Модератор
10 - 10.10.17 - 10:32
(4) тебе нужно
1. войти на сервер под пользователем службы 1с
2. перенастроить в конфигураторе
 
 Рекламное место пустует
   Slon747
 
11 - 10.10.17 - 10:57
(10) Пользователю USR1CV82 добавил роль удаленного рабочего стола.
Зашел под ним, подключился через конфигуратор к внешнему источнику MySQL, сохранил конфигурацию.
При попытке подключения через Предприятие, пишет:

Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
   МимохожийОднако
 
12 - 10.10.17 - 11:01
(11) Код подключения к базе работает на сервере или на клиенте?
   Slon747
 
13 - 10.10.17 - 11:07
(11) На клиенте.
(7) Не получается поставить 5.3. Пишет про системную ошибку.
   vde69
 
Модератор
14 - 10.10.17 - 11:08
(13) на клиенте и не должно работать... переноси код на сервер..
   vde69
 
Модератор
15 - 10.10.17 - 11:09
(14) +

на клиенте в УФ даже обычные запросы не работают :)
   Slon747
 
16 - 10.10.17 - 11:11
(14) Примерно такой же код (тоже MySQL и тоже внешний источник данных с ODBC) работает на клиенте в SQL-базе (другой сервер).
   vde69
 
Модератор
17 - 10.10.17 - 11:27
(16) объясняю популярно

1. внешние источники пишут строку подключения в конфу.
2. нормальный код не должен зависеть от клиентского окружения
3. если п2 не выполняется IT шник бегает с высунутом языком по всем клиентам и настраивает, на страивает, настраивает окружение... А потом еще раз бегает и настраивает, настраивает...

собственно именно по этому и следует выполнять все на сервере...
   Slon747
 
18 - 10.10.17 - 11:36
(17) Ок. Но я пока что не могу добиться, чтобы на сервере в терминале заработало.
   vde69
 
Модератор
19 - 10.10.17 - 11:48
(18) на сервере это НЕ В ТЕРМИНАЛЕ !!!! это в СЕРВЕРНОМ МОДУЛЕ 1с !!!
   Slon747
 
20 - 10.10.17 - 11:52
(19) Я это понял. Вопрос, почему на клиентской стороне 1с не работает?
   vde69
 
Модератор
21 - 10.10.17 - 12:02
(20) по тому, что и не должно...

у тебя настройки общие, в настройки пишется как минимум строка подключения которая содержит имя драйвера, то есть у тебя и на сервере и на клиенте должен стоять ОДИНАКОВЫЙ драйвер (и быть одинаково зарегистрирован в системе), только в этом случае работа возможна и на клиенте (при соблюдении еще кучи условий)



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует