【发布时间】:2010-11-16 23:06:00
【问题描述】:
我在 XP 机器上开发了一个 powershell 应用程序,它与 Sybase 服务器建立了 OLEDB 连接,以提取数据,然后将这些数据插入 SQL Server 2008 数据库实例。在调试此脚本并确保进程正常运行后,我将脚本移至一个新的 Windows Server 2008 R2 盒子。为了连接到 Sybase 实例,我安装了 Sybase 12.5.2 客户端,就像我在 XP 机器上所做的那样。但是,运行脚本失败并显示以下消息: 使用“0”参数调用“open”的异常:“'Sybase.ASEOLEDBProvider.2' 提供程序未在本地计算机上注册。
基本连接字符串来自 connectionStrings.com 并在 XP 上工作,所以我不认为本身存在语法问题。因此,我使用以下命令手动注册了 OLEDB dll: regsvr32 sydaase.dll
它注册没有错误。
剪掉脚本的相关行,连接逻辑顺序为 $dbConn = 新对象 System.Data.oldeb.oledbConnection $dbConn.connectionString = "Provider=Sybase.ASEOLEDBProvider.2;服务器名=myServer;端口地址=xxx;初始目录=xxx;用户ID=xxx;密码=xxxx"
在本例中,我已将我的数据替换为 xxx。
我不清楚为什么这在 XP 机器上运行没有问题,但在 Windows Server 机器上却没有这样做,尽管我遵循了相同的配置过程。
【问题讨论】:
-
好吧? 64位问题与否?如果有,请在下方标出正确答案。 ;)
标签: scripting powershell oledb windows-server-2008-r2