SAP Sybase ASE数据库自从12.5到15.0,再到15.5,再到15.7,这几个阶段,ODBC驱动也发生了一些变化,具体变化涉及到一些内部细节,就不一一阐述了.
本文介绍的方法,对于ASE数据库的应用开发人员非常实用。也适用于一些遗留系统来不及升级的情形。
这里主要介绍一下这些驱动的注册方法:
1. 针对12.5.x的ASE安装,你可能一直在使用这么老的遗留系统,又舍不得放弃,可能其中的ODBC驱动,你还希望它能继续服役,但是客户机已经升级到64位系统,比如64位的2003, win7或者win2008
有办法使用吗?
回答是有.你只要把服务上ASE12.5.x安装好的ODBC目录,比如c:\sybase\ODBC完整复制到客户机的固定目录,
比如,我为了图方便,放到d:\SybaseASE_ODBC目录下边,形成目录d:\SybaseASE_ODBC\ODBC这样的结构,所有的odbc相关的dll都在ODBC子目录下边.
余下的工作就是简单的为注册表添加内容了:
完整的注册表内容如下:
- Windows Registry Editor Version 5.00
-
-
- [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers]
- "SYBASE ASE ODBC Driver"="Installed"
-
-
- [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Sybase ASE ODBC Driver]
- "AltDefaults"="1"
- "APILevel"="1"
- "ConnectionFunctions"="YYY"
- "CPTimeout"="60"
- "DriverODBCVer"="04.10"
- "FileUsage"="0"
- "SQLLevel"="0"
- "Driver"="d:\\SybaseASE_ODBC\\ODBC\\SYODASE.DLL"
- "Setup"="d:\\SybaseASE_ODBC\\ODBC\\SYODASES.DLL"
- "HelpRootDirectory"="d:\\SybaseASE_ODBC\\ODBC\\help"
注意,你如果复制的目标路径不是d:\\SybaseASE_ODBC,那么上述.reg文件中的driver以及setup的路径,就要做相应调整.
执行完这个.reg文件,你打开命令行:
c:\windows\syswow64\odbcad32,就可以在驱动列表里看到Sybase ASE ODBC Driver这个驱动了.
注意,因为是64位系统,所以注册项路径里多了个Wow6432Node,如果是32位客户机,把这个去掉就可以了.

12.5 ODBC驱动的配置图.
2. 如果是15.0以及以后的版本,
odbc驱动是放到了c:\Sybase\DataAccess\ODBC\dll里头了.(假定c:\sybase是你的ASE安装目录的根路径)
你要在64位客户机上发布这个驱动,也只需要把c:\Sybase\DataAccess\ODBC复制到d:\\SybaseASE_ODBC\DataAccess\ODBC下边.
执行下边的注册表项:
- Windows Registry Editor Version 5.00
-
- [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Adaptive Server Enterprise 15.x]
- "Driver"="d:\\SybaseASE_ODBC\\DataAccess\\ODBC\\dll\\sybdrvodb.dll"
- "Setup"="d:\\SybaseASE_ODBC\\DataAccess\\ODBC\\dll\\sybdrvodb.dll"
-
- [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers]
- "Adaptive Server Enterprise 15.x"="Installed"
就可以把相应的驱动注册为:Adaptive Server Enterprise 15.x.
当然,15.0及以后版本,如果有64位的ODBC驱动,上述路径中的Wow6432Node就可以不要了.

实际上,针对15.0及以后的ODBC驱动,你可以不用手写相关注册表项,直接一个命令:
d:\>regsvr32 "D:\SybaseASE_ODBC\DataAccess\ODBC\dll\sybdrvodb.dll"
即可完成注册.这样注册完,得到的驱动名是官方标准名:"Adaptive Server Enterprise".