从 x86 Powershell 控制台使用 x64 ODBC 源

Using x64 ODBC source from x86 Powershell console

有没有办法通过 x86 Powershell/Powershell ISE window 访问 x64 ODBC DSN?

现在,如果我尝试这样做,我会收到一条错误消息,指出未找到 DSN/driver,这是真的,因为在 x86 ODBC 存储中没有这样的 driver/dsn。

实现此目的的唯一方法是从 SysWOW64\WindowsPowerShell\v1.0

打开 x64 powershell 控制台

我可以从 x64 商店明确设置驱动程序位置吗? 我的连接字符串现在看起来像这样:

$Connection = New-Object System.Data.Odbc.OdbcConnection
$Connection.ConnectionString = "driver={Adaptive Server Enterprise};dsn=$DSN;db=$DefaultDatabase;na=$ServerName,$Port;uid=$uid;pwd=$pwd;"

32 位 x86 进程,包括 x86 Powershell,不能直接使用 64 位 x86_64 库,包括 ODBC DSNs/drivers。

64 位 x86_64 进程,包括 x86_64 Powershell,不能直接使用 32 位 x86 库,包括 ODBC DSNs/drivers.

您可以使用 "Multi-Tier" 桥接解决方案,它使用 TCP/IP 或其他网络通信层在 32 位和 64 位环境之间进行通信,例如 this one from my employer, OpenLink Software ... or you can acquire a 32-bit ODBC driver for Sybase ASE