1с ошибка инициализации odbc 2008

Обновлено: 07.07.2024

Добрый день! Необходимо из 1с подключиться к БД Firebird. На тесте у меня работает, а вот на реальном сервере не могу решить ошибку. Ошибка при вызове метода контекста (Open) COMСоединение.Open; по причине: Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию ОС: 2008 x64 Версия 1С 8.3. Клиент x32. Строка подключения: Имя драйвера указано верно. Драйвер в системе есть. В самом ODBC подключение проходит без ошибок в 32 и 64 битах пробовал через DSN, указывал конкретный "DSN=DB" - ошибка та же Возможно проблема с правами доступа? Куда копать?

попробуйте не c:db.fdb неужели вы так не уважаете своих админов, что решили, что есть доступ в корень диска С: на сервере?

:) путь условный. БД лежит не на диске C:. И пароль не masterkey. Ошибка про драйвер. COM соединение создаваемое в 1С не видит драйвер "Firebird/InterBase(r) driver", хотя он есть.

пишет ведь "Источник данных не найден". А если учесть, что 1с по умолчанию запускается под другим пользователем, не под админом явно, то вполне возможно, что права.

Под пользователем под которым запускается 1С, я запускаю odbc. Драйвер там есть. DSN создаю и тестирование проходит успешно. А вот в 1С COM объект пишет ошибку. COM объект же создаётся под этим пользователем. Как это посмотреть? Где ещё искать?

Firebird сервер и клиент тоже х64? Если так, то необходимо дополнительно установить клиента х32. DSN в ODBC настроить отдельно. Например для 32 dsn=base32 и клиент "C:Program Files (x86)Firebirdinfbclient.dll" ,а для 64 dsn = base64 клиент "C:Program FilesFirebirdinfbclient.dll"

и проверить имя драйвера до буквы,в разных версиях имена различаются

Пробовал. Ошибка та же. Указываю в строке подключения работающие DSN=DB32 или DSN=DB64 - ошибка та же. Проверял. Копировал имя драйвера из хелпа. Имена совпадают.

Строка подключения должна начинаться так: DRIVER=;, а дальше остальные параметры

Пробовал фигурные скобки. Не помогает. Ошибка же появляется когда я конкретный DSN указываю.

Если сервер это кластер, то нужно убедится что драйвер стоит на всех машинах кластера.

Стоит 1С 7-ка, стоит патч от romix (Книга знаний: Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки. Больше года все работало хорошо, но вот новый сервер с windows 2008 и теперь на нем 1С при запуске пишет "Ошибка инициализации ODBC!". Видимо odbc.dll из патча не очень дружат с Win2008. romix! подскажи можно ли с этим бороться?

написать ромиксу чтобы тот сделал патч к своему патчу

(2) Конечно напишу, просто тему завела чтобы общетсвенность знала о проблеме - она довольно типовая :)
(3) odbc.dll идет у него в патче - я не знаю, как отреагирует 1С, если я положу стандартную от свежего MDAC.

(4) типовые задачи не возникают на плохообкатанных системах, которые не поддерживаются целевой платформой :-)

(4) ну я же и не в техподдержку 1С пишу так то ;)
(6) не помогло. эх.

Положите в папку с патченной dll также файл odbc32.dll нужной версии Windows. Мне кто-то писал что это должно сработать.

То есть odbc32.dll от той версии Windows где все работает правильно.

Понимаете, у нас каталог запуска 1С выложен в сети. То есть из одного каталога запускаются и пользователи c WinXP и с Win2008. odbc.dll соответсвенно лежит в данном каталоге. Так вот на XP все работает. А на 2008 - нет. Пробовала уже разные версии odbc.dll - на XP упорно работает, а 2008 нет :)
Вопрос больше к вам, как к разработчику - что может мешать чисто на клиентской машине?

люди, Вас под дулом СКС заставляют в качестве системы серверной всякое дерьмо бета-версии ставить?

(10) Odbc32.dll называется. Вот ее надо взять из XP и положить в этот каталог 1С/Bin. По идее должно запуститься.

По другому организовать перехват, чтобы везде срабатывало - да, наверное можно.
Но вот мне пишут что и так тоже работает.

(13) Ошибка теперь изменилась - говорит "Для доступа к базе данных требуется ODBC-драйвер для MS SQL SERVER версии 3.50.0303 или старше".
Я из XP копирую версию 3.525. Т.е. старше. Что ей надо то? :)

(15) А 2003 у вас есть винда, может из нее взять Odbc32.dll?
Если не поможет то я попытаюсь изменить так чтобы перехват работал везде.

(11) глупость сказал. w2k8 давненько не бета, плюс очень неплохая (имхо лучшая) серверная ОС от мелких и мягких. и семерка на ней замечательно работает, включая скуль, включая работу с x64-версиями.
правда подменять дрова ODBC необходимо, ну и немного танцев с бубном, а точнее внимательности и логики.
(15) что-то ты не то делаешь.

(16) Все и так работает. Длл брал из 2003. А ошибка из (15) стандартная и поиском находится правильное решение практически сразу. Думаю автору стоит воспользоваться яндексом и "найдется все".

(15) из хрюшки или w2k3 скопируй odbcbcp.dll, sqlsrv32.dll, sqlsrv32.rll в папку %SYSTEM32% и %SYSWOW64% (для x64-версий), предварительно защиту сними с файликов.

Только старые наверное лучше сохранить куда-нибудь. И еще ODBC32.DLL, т.к. я ее перехватываю.

(20) насмешила :))
админы сами не умеют гугл юзать, девушек напрягают? куда катится этот мир.

(21) без нее работает спокойно. хотя вот перехват - не знаю.
сохранять особо не нужно: восстановление системы все вылечит :)

(21) Спасибо. Вроде это помогло. :) Уткнулись теперь уже в другую проблему.

(15) Аналогичная ошибка на Висте возникают. 1С не понимает новых одибиси драйверов, которые идут с этими системами. В тырнете были рекомендации, как в висту воткнуть драйвер от ХР, может они и для 2008 подойдут.

Стоит 1С 7-ка, стоит патч от romix (. Больше года все работало хорошо, но вот новый сервер с windows 2008 и теперь на нем 1С при запуске пишет "Ошибка инициализации ODBC!". Видимо odbc.dll из патча не очень дружат с Win2008. romix! подскажи можно ли с этим бороться?

написать ромиксу чтобы тот сделал патч к своему патчу

видимо надо скачать новую odbc.dll для 2008 эту dll не ромикс писал

Конечно напишу, просто тему завела чтобы общетсвенность знала о проблеме - она довольно типовая :) odbc.dll идет у него в патче - я не знаю, как отреагирует 1С, если я положу стандартную от свежего MDAC.

типовые задачи не возникают на плохообкатанных системах, которые не поддерживаются целевой платформой :-)

ну я же и не в техподдержку 1С пишу так то ;) не помогло. эх.

Положите в папку с патченной dll также файл odbc32.dll нужной версии Windows. Мне кто-то писал что это должно сработать.

То есть odbc32.dll от той версии Windows где все работает правильно.

Понимаете, у нас каталог запуска 1С выложен в сети. То есть из одного каталога запускаются и пользователи c WinXP и с Win2008. odbc.dll соответсвенно лежит в данном каталоге. Так вот на XP все работает. А на 2008 - нет. Пробовала уже разные версии odbc.dll - на XP упорно работает, а 2008 нет :) Вопрос больше к вам, как к разработчику - что может мешать чисто на клиентской машине?

люди, Вас под дулом СКС заставляют в качестве системы серверной всякое дерьмо бета-версии ставить?

Odbc32.dll называется. Вот ее надо взять из XP и положить в этот каталог 1С/Bin. По идее должно запуститься.

По другому организовать перехват, чтобы везде срабатывало - да, наверное можно. Но вот мне пишут что и так тоже работает.

Ошибка теперь изменилась - говорит "Для доступа к базе данных требуется ODBC-драйвер для MS SQL SERVER версии 3.50.0303 или старше". Я из XP копирую версию 3.525. Т.е. старше. Что ей надо то? :)

А 2003 у вас есть винда, может из нее взять Odbc32.dll? Если не поможет то я попытаюсь изменить так чтобы перехват работал везде.

глупость сказал. w2k8 давненько не бета, плюс очень неплохая (имхо лучшая) серверная ОС от мелких и мягких. и семерка на ней замечательно работает, включая скуль, включая работу с x64-версиями. правда подменять дрова ODBC необходимо, ну и немного танцев с бубном, а точнее внимательности и логики. что-то ты не то делаешь.

Все и так работает. Длл брал из 2003. А ошибка из стандартная и поиском находится правильное решение практически сразу. Думаю автору стоит воспользоваться яндексом и "найдется все".

из хрюшки или w2k3 скопируй odbcbcp.dll, sqlsrv32.dll, sqlsrv32.rll в папку %SYSTEM32% и %SYSWOW64% (для x64-версий), предварительно защиту сними с файликов.

Только старые наверное лучше сохранить куда-нибудь. И еще ODBC32.DLL, т.к. я ее перехватываю.

насмешила :)) админы сами не умеют гугл юзать, девушек напрягают? куда катится этот мир.

без нее работает спокойно. хотя вот перехват - не знаю. сохранять особо не нужно: восстановление системы все вылечит :)

Спасибо. Вроде это помогло. :) Уткнулись теперь уже в другую проблему.

Аналогичная ошибка на Висте возникают. 1С не понимает новых одибиси драйверов, которые идут с этими системами. В тырнете были рекомендации, как в висту воткнуть драйвер от ХР, может они и для 2008 подойдут.

Да просто перепишите уже установленную программу (папку Program Files\1Cv77) с компьютера под управлением Windows XP. Таким же образом производится установка на Windows 8 и 10.

Ошибка подключения 1С 7.7 с Windows 7 к SQL Server <в начало>

На клиентском компьютере, работающем под управлением Windows 7, при попыке подключения 1С к SQL Server вы увидите предупреждение об ошибке "Для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше". Это несложно вылечить. Рассмотрим один из вариантов решения проблемы.

Для 64-битной системы файлы нужно положить в папку Windows\SysWOW64, для 32-битной - в папку Windows\System32.

Итак, приступим. Для начала нужно переименовать на всякий случай оригинальные файлы. Для этого открываем свойства каждого файла, устанавливаем в качестве владельца администратора, сохраняем изменения.


Далее снова открываем свойства и назначаем администратору полные права для управления файлами.


После этого файлы можно переименовать. А на их место поместить файлы от Windows XP.

Далее, при обнаружении ошибки "Порядок сортировки отличается от системного" скачиваем файл OrdNoChk.prm и помещаем в папку Bin, рядом с файлом 1cv7s.exe.

Если указанных файлов (sqlsrv32.rll, sqlsrv32.dll, odbcbcp.dll) не оказалось в папках Windows\SysWOW64, Windows\System32 - необходимо скачать и установить драйвер ODBC по ссылке, а затем произвести замену файлов как был описано выше.

Ошибка запуска 1С 7.7 под Windows 7 в файловом режиме <в начало>

Тут все проще. Предупреждение "Порядок сортировки отличается от системного" лечится так же, нужно положить файл OrdNoChk.prm в папку Bin, рядом с файлом 1cv7.exe (1cv7l.exe).

Не работает, не запускается 1С 7.7 OLE под Windows 7 x64 <в начало>

Прежде всего нужно проверить соответсвующие ветки в реестре.

При помощи поиска находим в реестре ветку V77S.Application (V77.Application). В разделе CLSID указан раздел в котором система будет искать исполняемый файл.


Далее ищем этот раздел и смотрим установленные значения. Раздел InprocHandler32 должен содержать значение ole32.dll, ProgID - V77S.Application, LocalServer32 - C:\PROGRA

2\1Cv77\BIN\1cv7s.exe (имя исполняемого файла зависит от версии 1С). Также обратите внимание на то, что для 64-разрядных систем указывается не "C:\PROGRA

2" (исполняемый файл находится в папке C:\Program Files (x86)). Неправильные значения исправляем. По ссылке Вы можете скачать образцы файлов реестра для SQL версии 1С, работающей под Winows 7 x64.


При запуске 1С 7.7 в качестве OLE-сервера может возникнуть ситуация, когда Initialize (Инициализация, запуск) зависает и мы наблюдаем такую картину ("Сервер занят. Действие не может быть завершено. ").

Читайте также: