Я разработал приложение powershell на коробке XP, которая установила соединение OLEDB с сервером Sybase для извлечения данных, которые затем вставляются в экземпляр базы данных SQL Server 2008.После отладки этого сценария и обеспечения правильной работы процесса я переместил сценарий в новую версию Windows Server 2008 R2.Чтобы подключиться к экземпляру Sybase, я установил клиент Sybase 12.5.2, как я это делал на компьютере с XP.Однако запуск сценария завершился неудачно с сообщением: Исключение вызывает «open» с аргументом (ами) «0»: «Поставщик« Sybase.ASEOLEDBProvider.2 »не зарегистрирован на локальном компьютере.
БазаСтрока подключения была получена из connectionStrings.com и работала на XP, поэтому я не верю, что существует проблема синтаксиса как таковая. Поэтому я вручную зарегистрировал dll OLEDB с помощью команды: regsvr32 sydaase.dll
, которую он зарегистрировалбез ошибок.
Вырезая соответствующие строки скрипта, логическая последовательность соединения равна $ dbConn = новый-объект System.Data.oldeb.oledbConnection $ dbConn.connectionString = "Provider = Sybase.ASEOLEDBProvider.2;имя сервера = myServer;адрес порта = ххх;начальный каталог = ххх;идентификатор пользователя = ххх;Пароль = xxxx "
В этом примере я заменил свои данные на xxx.
Мне не ясно, почему это без проблем запускалось на компьютере с XP, но не удается сделать это в WindowsСерверная коробка, хотя я следовал тому же процессу конфигурации.