db2 如何修复java.sql.SQLNonTransientException:异常错误:空DSRA 0010 E:SQL状态= 08001,错误代码= -1,639错误

af7jpaap  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(219)

我在从应用服务器(Suse linux机器A)连接到数据库服务器(Suse linux机器B)时遇到以下问题,该应用服务器包含配置了DB2的WebSphere应用服务器。请查看以下详细信息。
ASX 7015 E:运行命令时出现异常:“AdminControl.testConnection('数据库名称(单元/单元名称/节点/节点名称/服务器/服务器1| resources.xml#dataSource_ID)')";异常信息:异常错误。在运行时,如果发生异常,则会出现以下错误:异常错误:空DSRA 0010 E:SQL状态= 08001,错误代码= -1,639。
1.无法找到此错误的根本原因
1.无法找到此错误来自哪个服务器。
注意:在对生产问题进行一些路径更新后出现此问题。WebSphere版本为9.0,使用websphere internal java和openJPA 2.0,DB2版本为11.1.0.0。

nfeuvbwi

nfeuvbwi1#

sqlode -1639是由于Db2服务器上的文件权限不正确而导致的。
见此technote
在链接断开的情况下,此处给出的建议是:

Cause

This is caused by incorrect permissions and ownership of the following security files in ~/sqllib/security directory
db2chpw
db2ckpw

These files should have root as owner and must have permission -r-s--x--x
Resolving The Problem

Change the owner of the files to root

Change the permission of the files to -r-s--x--x

Update the instance using db2iupdt

除此之外,在linux/unix/windows的生产环境中使用任何Db2产品的“fixpack 0”都是不明智的。总是有太多愚蠢的bug早就被后续的累积修复包修复了。你的问题提到了v11.1.0.0(这是11.1版的fixpack 0)。最佳建议是将当前最新的fixpack部署到Db2服务器,因此在部署到生产环境之前,请让DBA首先在开发/测试环境中执行此操作。
此外,请考虑确保维护WAS服务器上的Db2 jdbc驱动程序版本,而不是继续使用WAS附带的(通常是旧版本)。最佳实践是使WAS和Db2服务器之间的jdbc驱动程序版本保持相同,因此请保持这些版本。

相关问题