【问题标题】:powershell 2.0 on Windows server 2008 R2 cannot connect with OLEDB connectionWindows server 2008 R2 上的 powershell 2.0 无法与 OLEDB 连接
【发布时间】: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


【解决方案1】:

我敢打赌,您是在 64 位 R2 机器上尝试此操作,并使用 64 位 PowerShell 控制台。没有原生 64 位 OLEDB 驱动程序,只有 32 位 - 使用 32 位控制台应该没问题。

【讨论】:

  • +同意...几周前我遇到了同样的问题,使用 ole 和制表符分隔的文本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多