【发布时间】:2011-12-20 20:51:02
【问题描述】:
我正在尝试使用带有 JNDI 的 com.ibm.as400.access.AS400JDBCDataSource 建立 JDBC 连接。 当我调试时,我注意到在设置 InitialContext 时会创建一个数据源实例。当我从我的代码中获取引用时,会创建另一个实例,其中包含一个 AS400 对象的副本(其中包含 url、用户名和连接配置)。
在我调用的第一个实例上
as400Ds.setPassword("MYPWD");
问题是共享 AS400 实例时密码丢失,所以我收到此错误
Password is not set
【问题讨论】:
-
原来如果你调用 as400ds.setSavePasswordWhenSerialized(true);在创建的第一个实例上,密码是共享的。不过,对我来说,这不是预期的行为。对于任何其他 JDBC 驱动程序,无需执行任何类似的 AFAIK。有人愿意解释这背后的原因吗?调用此方法时是否可能存在安全漏洞?还是与其他不需要等效的 jdbc 驱动程序一起使用?
标签: jdbc jndi ibm-midrange