|
Ошибка при подключении 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) Не кластер :(
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший