isql登录ASE报Client password encryption fails问题解决
遇到两例isql登录ASE报Client password encryption fails.的错误,先总结一下。
主要原因可能有:
1、操作系统不被支持;
2、sybase环境变量不正确;
case 1:
在SUSE 10 x64 上安装了ASE 15.7 ESD#7的32位的客户端,使用isql连接的时候,报: Client password encryption fails(客户端密码加密失败)
通过查询sybase官方的版本与平台支持信息,
ID | Product | Prod Version |
Prod Word Size |
OS Version | Status |
1436 | Adaptive Server Enterprise | 15.0 | 64-bit | SuSE SLES 10 (AMD64/EM64T) | Certified |
General Notes: | ASE15.7 release does NOT support SLES10. Due to recent changes in glibc, the environment variable LD_POINTER_GUARD should be set to 1 for ASE to function properly. This variable should be set before starting any ASE binary. Note that there is known bug with the configuration step of the ASE installer. Please use "srvbuild" or "srvbuildres" to configure devices. This bug will be fixed in a future release of ASE. ASE15.5 ESD5.2 can't install on SUSE10SP2 Work-round: Replace sylapi with 32bit and change to 32bit JRE. ASE 15.5 support SUSE10: kernel-smp-2.6.16.21-0.8 glibc-2.4-31.2 ASE CE 15.5 support SUSE10.1: kernel-smp-2.6.16.46-0.12 glibc-2.4-31.30 e2fsprogs-1.38-25.21 libaio-0.3.104-14.2 libgcc-3.3.3-43.41 libstdc++-3.3.3-44.41 compat-libstdc++-5.0.7-22.2 | |
Minimum Product Level : | ASE 15.0.2 ESD#1 ASE15.5 GA to ASE15.5 ESD5.1 ASE15.7 release does NOT support SLES10. |
|
Minimum Required OS Level : | ASE15.7 release does NOT support SLES10. ASE15.7 requires SLES 11.0 as minOS.
For ASE15.0.2 and higher to ASE15.5 ESD5.1: kernel-smp-2.6.16.21-0.8 |
再查看ASE 15.7的最低支持平台,看到:
ID | Product | Prod Version |
Prod Word Size |
OS Version | Status |
2826 | Adaptive Server Enterprise | 15.0 | 64-bit | SuSE SLES 11 (AMD64/EM64T) | Certified |
General Notes: | ASE15.7 is certified / released on SLES 11.0. ASE15.7 is certified on SuSE SLES 11 SP2 ASE15.7SP120 is certified on SuSE SLES 11 SP3 ASE155 ESD4 is certified on SuSE SLES 11 SP3 ase1503 esd3 is certified with SUSE11, but note following issue: issue 1: jvm file io will hit stacktrace workaround: During the creation of the PCA/JVM it is necessary to retrieve userid/password information from the network security services (nss) to allow the virtual machine to create a shared memory region. If the information is attempted to be retrieved from the network information service (nis) provider a SEGV will occur. To avoid this a different provider must be able to supply the information prior to attempting to retrieve the information via nis. For nss implementations specifying either 'compat' or 'files nis' retrieval order in the /etc/nsswitch.conf file the following alternatives may be used to avoid this problem: 1) Add the userid and password for the user starting the Adaptive Server to the local /etc/passwd and /etc/shadow files using either the adduser command or the graphical user interface for system administration tasks on the host where the server is to be run. This will allow the userid/password request to be satisfied by the local information without recourse to the nis call for this information. 2) If it is not possible or desirable to add the user information to the local files ensure that the name service cache daemon (nscd) is running on the host where the server will be run. The nscd maintains a cache of the userid and password information that is consulted prior to dispatching a request to the nis for this information. issue 2: all older versions than ase1503 esd3 can't work with SUSE11. ASE CE 15.5 has not certified with SUSE11 ASE15.5 has been certified with SUSE11 SP1 | |
Minimum Product Level : | ase1503 esd3 ASE155 ESD1 is the minimum ASE level certified for SuSE11 Update 1 ASE155 ESD4 is the minimum ASE level certified for SuSE11 Update 3 ASE15.7 is certified / released on SLES 11.0 and 11.1. |
|
Minimum Required OS Level : | kernel-default-2.6.27.19-5.1 glibc-2.9-13.2 |
|
Certified OS Patch Level : | ASE15.7 is certified / released on SLES 11.0 and 11.1. ASE15.7 is certified on SLES 11.2 ASE15.7SP120 is certified on SLES 11.3 |
|
High Availability SW : | ASE15.7 / VCS 5.0 is certified. Please refer to install guide on work-arounds for possible conflict with OS involving user account look-up, CR 578921. |
由上可以看到如果想在SUSE上安装ASE 15.7,需要操作系统至少是:SUSE Enterprise Linux Server 11以上。
在SLES 11 SP1上再次安装SDK ASE 15.7 ESD#7,isql能够正常登录ASE服务器。
另外一个case也是报Client password encryption fails.
在AIX 6.1平台上,syb64用户下安装ASE 15.7服务器端:Adaptive Server Enterprise/15.7.0/EBF 19625 SMP ONE-OFF/P/RS6000/AIX 6.1/ase157/2820/64-bit/FBO/Fri Oct 14 11:43:25 2011
sybase用户下安装ASE 15.7客户端:SDK ASE 157/P-EBF20747 ESD#7/DRV15.7.0.7
使用syb64用户执行: /syb64/OCS-15_0/bin/isql -Usa -P??? -Sservername能够正常登录,
使用syb64用户执行:/sybase/OCS-15_0/bin/isql -Usa -P??? Sservername就报Client password encryption fails
原因:
在syb64调用/sybase/OCS-15_0/bin/isql时,引用了syb64当前环境下的/syb64/ASE-15_0下的lib库文件,而/syb64/ASE-15_0下的lib文件版本要低于/sybase下的。
解决方法:
使用syb64加载用户sybase的SYBASE环境变量:
. ~sybase/SYBASE