通过C#在Windows 7中访问Sybase:ERROR [IM002] [微软] [ODBC驱动程序管理器]数据源名称找不到和未指定默认驱动程序

我有一个连接字符串像通过C#在Windows 7中访问Sybase:ERROR [IM002] [微软] [ODBC驱动程序管理器]数据源名称找不到和未指定默认驱动程序

Driver={SYBASE ASE ODBC Driver};Srvr=;Uid=;Pwd=;Database=dbname;
Port=
*;WorkstationID={WorkstationID};ApplicationName=Wingman

,每当我尝试使用Conn.open()打开连接,出现以下错误:

:ERROR [IM002] [Microsoft][ODBC Driver Manager]

Data source name not found and no default driver specified

此问题是Windows 7特有的吗?

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

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

回答:

如果你是一个Win7的64位系统上则ODBC管理的32位驱动程序可以找到手动浏览到

%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定义的数据源。您需要在正确的位置定义datasaources。

以上是 通过C#在Windows 7中访问Sybase:ERROR [IM002] [微软] [ODBC驱动程序管理器]数据源名称找不到和未指定默认驱动程序 的全部内容, 来源链接: utcz.com/qa/263945.html

回到顶部