Имя: Пароль:
1C
1С v8
Ошибка при подключении ADODB. Источник данных не найден.
,
0 Дадди
 
11.12.17
13:11
Добрый день!

Необходимо из 1с подключиться к БД Firebird. На тесте у меня работает, а вот на реальном сервере не могу решить ошибку.

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

ОС: 2008 x64
Версия 1С 8.3. Клиент x32.
Строка подключения:
DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=ts:c:\db.fdb;

Имя драйвера указано верно. Драйвер в системе есть.
В самом ODBC подключение проходит без ошибок в 32 и 64 битах пробовал через DSN, указывал конкретный "DSN=DB" - ошибка та же

Возможно проблема с правами доступа? Куда копать?
1 hhhh
 
11.12.17
13:22
(0) попробуйте не c:\db.fdb

неужели вы так не уважаете своих админов, что решили, что есть доступ в корень диска С: на сервере?
2 Дадди
 
12.12.17
04:02
:) путь условный. БД лежит не на диске C:. И пароль не masterkey.
Ошибка про драйвер. COM соединение создаваемое в 1С не видит драйвер "Firebird/InterBase(r) driver", хотя он есть.
3 h-sp
 
12.12.17
04:10
(2) пишет ведь "Источник данных не найден". А если учесть, что 1с по умолчанию запускается под другим пользователем, не под админом явно, то вполне возможно, что права.
4 Дадди
 
12.12.17
09:30
Под пользователем под которым запускается 1С, я запускаю odbc. Драйвер там есть. DSN создаю и тестирование проходит успешно.

А вот в 1С COM объект пишет ошибку.
COM объект же создаётся под этим пользователем. Как это посмотреть? Где ещё искать?
5 mkfadmin
 
12.12.17
10:39
Firebird сервер и клиент тоже х64? Если так, то необходимо дополнительно установить клиента х32. DSN в ODBC настроить отдельно. Например  для 32 dsn=base32 и клиент "C:\Program Files (x86)\Firebird\bin\fbclient.dll" ,а для 64 dsn = base64 клиент "C:\Program Files\Firebird\bin\fbclient.dll"
6 Сияющий в темноте
 
12.12.17
11:06
и проверить имя драйвера до буквы,в разных версиях имена различаются
7 Дадди
 
12.12.17
13:43
(5) Пробовал. Ошибка та же.
Указываю в строке подключения работающие DSN=DB32 или DSN=DB64 - ошибка та же.

(6) Проверял. Копировал имя драйвера из хелпа. Имена совпадают.
8 mkfadmin
 
13.12.17
08:06
Строка подключения должна начинаться так:
DRIVER={Firebird/InterBase(r) driver};, а дальше остальные параметры
9 Дадди
 
18.12.17
11:16
(8) Пробовал фигурные скобки. Не помогает.

Ошибка же появляется когда я конкретный DSN указываю.
10 beholder
 
18.12.17
11:24
Если сервер это кластер, то нужно убедится что драйвер стоит на всех машинах кластера.
11 Дадди
 
26.12.17
10:50
(10) Не кластер :(