2

我有一个像这样的连接字符串

Driver={SYBASE ASE ODBC 驱动程序};Srvr= ;Uid= ;Pwd= ;Database=dbname;
端口=
*
;WorkstationID={WorkstationID};ApplicationName=Wingman

每当我尝试使用打开连接时Conn.open(),都会收到以下错误:

:ERROR [IM002] [Microsoft][ODBC 驱动程序管理器]

未找到数据源名称且未指定默认驱动程序

此问题是否特定于 Windows 7?

我尝试了多种方法,例如在 ODBC 数据源管理器(64 位)中创建系统 DSN,但代码指的是 ODBC 数据源管理器(32 位)。

我在 ODBC 管理器(32 位)中找不到 Sybase 的驱动程序。

4

1 回答 1

2

如果您使用的是 Win7 64 位系统,则可以手动浏览到 32 位驱动程序的 ODBC 管理器

%systemdrive%\Windows\SysWoW64\ODBCAD32.EXE

控制面板/管理工具内的图标是指 64 位版本。

32 位版本的 ODBC 管理员工具仅显示 32 位系统/用户 DSN,而 64 位版本(位于 %systemdrive\Windows\System32\ODBCAD32.exe)仅显示 64 位系统/用户 DSN。您应该为您的驱动程序使用正确的版本。

保持现状,如果您的代码是为 AnyCPU 平台编译的并且它在 64 位系统上运行,那么它会查看由 ODBCAD32.exe 的 x64 版本定义的数据源,并且该数据源不能使用 32 位驱动程序。另一方面,如果您的代码针对 x86 平台编译并在 64 位系统上运行,它会查看由 x86 版本的 ODBCAD32.exe 定义的数据源。您可以在正确的位置定义数据源。

于 2012-10-18T09:33:46.007 回答