Я разработал приложение 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
зарегился без ошибок.
Вырезая соответствующие строки скрипта, логическая последовательность подключения выглядит следующим образом: ; исходный каталог = xxx; идентификатор пользователя = xxx; пароль = xxxx"
В этом примере я заменил свои данные на xxx.
Я не понимаю, почему это работает без проблем на компьютере с XP, но не работает на компьютере с Windows Server, хотя я следовал тому же процессу настройки.