Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
xionghe
Advisor
Advisor
0 Kudos
3,039

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子目录下边.

余下的工作就是简单的为注册表添加内容了:

完整的注册表内容如下:


  1. Windows Registry Editor Version 5.00 
  2.  
  3.  
  4. [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers] 
  5. "SYBASE ASE ODBC Driver"="Installed" 
  6.  
  7.  
  8. [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Sybase ASE ODBC Driver] 
  9. "AltDefaults"="1" 
  10. "APILevel"="1" 
  11. "ConnectionFunctions"="YYY" 
  12. "CPTimeout"="60" 
  13. "DriverODBCVer"="04.10" 
  14. "FileUsage"="0" 
  15. "SQLLevel"="0" 
  16. "Driver"="d:\\SybaseASE_ODBC\\ODBC\\SYODASE.DLL" 
  17. "Setup"="d:\\SybaseASE_ODBC\\ODBC\\SYODASES.DLL" 
  18. "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下边.

执行下边的注册表项:

  1. Windows Registry Editor Version 5.00 
  2.  
  3. [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Adaptive Server Enterprise 15.x] 
  4. "Driver"="d:\\SybaseASE_ODBC\\DataAccess\\ODBC\\dll\\sybdrvodb.dll" 
  5. "Setup"="d:\\SybaseASE_ODBC\\DataAccess\\ODBC\\dll\\sybdrvodb.dll" 
  6.  
  7. [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers] 
  8. "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".