2010-11-16 4 views
0

Я разработал приложение powershell в поле XP, которое сделало подключение OLEDB к серверу Sybase для извлечения данных, которые затем вставляются в экземпляр базы данных SQL Server 2008. После отладки этого сценария и обеспечения правильного функционирования процесса я перевел скрипт на новый Windows Server 2008 R2. Чтобы подключиться к экземпляру Sybase, я установил клиент Sybase 12.5.2 так же, как и в XP. Однако запуск сценария завершился неудачно с сообщением: Вызов «open» с аргументом «0»: «Поставщик« Sybase.ASEOLEDBProvider.2 »не зарегистрирован на локальном компьютере.powershell 2.0 на сервере Windows 2008 R2 не может подключиться к подключению OLEDB

Базовое соединение строка была получена из connectionStrings.com и работала на XP, поэтому я не верю, что сама по себе проблема с синтаксисом. Так, я вручную зарегистрировал dll OLEDB с помощью команды: regsvr32 sydaase.dll

зарегистрировано без ошибки

Вырезать соответствующие строки сценария, логическая последовательность подключения $ dbConn = система новых объектов. Data.oldeb.oledbConnection $ dbConn.connectionString = "Provider = Sybase.ASEOLEDBProvider.2; имя сервера = myServer; адрес порта = xxx; начальный каталог = xxx; user Id = xxx; Пароль = хххй»

Я заменил мои данные с ххм в этом примере.

Я не ясно, почему это побежало без проблем на коробке XP, но не в состоянии сделать это на поле Windows Server, хотя я после этого тот же процесс конфигурации.

+0

хорошо? 64-битный вопрос или нет? Если да, отметьте правильный ответ ниже.;) – x0n

ответ

2

Я буду парировать то, что вы пытаетесь это на 64-битной машине R2, и используя 64-битную консоль PowerShell. Нет встроенных 64-разрядных OLEDB-драйверов, всего 32 бит - используйте 32 бит, и вы должны быть в порядке.

+0

+ согласился ... I имел такую ​​же проблему всего пару недель назад с текстом с оле и табу –