DB2 JDBC Windows身份验证



例如,在使用Windows身份验证的DB2数据库上使用JDBC,最好使用db2jcc4.jar驱动程序。这似乎是一个常见的场景,但我很难找到一个例子。

您最初的问题太模糊了,直到您用一条注释澄清了这个问题,该注释询问如何在没有userid/密码的情况下通过jdbc连接到本地Db2数据库。所以你真正的问题似乎是"如何在MS Windows上实现对本地Db2数据库的无密码身份验证">,这可能是常见问题解答。

Db2服务器将身份验证委托给运行Db2服务器的底层操作系统服务。请记住,Db2服务器运行在几个完全不同的操作系统上,其中只有一个是MS Windows。

是的,您可以使用IBM提供的JDBC驱动程序,通过JDBC连接到MS Windows上的本地Db2数据库,而无需指定用户ID/密码。

您还可以通过CLI/ODBC和命令行连接到MS Windows上的本地Db2数据库,而无需指定用户ID/密码。如果未指定用户ID/密码,则身份验证ID为当前正在运行的会话的身份验证ID(登录标识或runas标识(。

如果您有一个本地Db2服务器,该服务器具有在MS Windows上运行的本地数据库,则已经安装了所有必要的软件(如果使用默认值(以实现上述功能。

重要的是要理解,如果Db2数据库远离客户端,那么身份验证将需要某种形式的凭据。这样的凭证可以是证书的形式(如果Db2数据库位于Z/OS上(,或者是用户ID/密码的形式,或者是kerberos票证的形式,或是用于基于云的Db2等的令牌的形式。

对于到Db2数据库的无密码本地jdbc连接,可以使用URL格式"jdbc:db2:your_database_name">

com.ibm.db2.jcc.DB2Driver(在当前支持的db2jcc4.jar版本中提供(支持使用该URL模式的无密码连接。

本地数据库名称为sample的示例。

try
{ 
Connection con = DriverManager.getConnection("jdbc:db2:sample");
...
}
catch (Exception e)
{
...
}

Db2知识中心提供了可用jdbc属性的所有详细信息此处

https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.apdv.java.doc/src/tpc/imjcc_r0052038.html

其他页面显示特定于Z/OS数据源、云数据库、i系列数据源或informix源等的附加属性。