0

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

4

1 回答 1

0

您最初的问题太模糊了,直到您通过评论澄清它,询问如何在没有用户 ID/密码的情况下通过 jdbc 连接到本地 Db2 数据库。因此,您真正的问题似乎是“如何在 MS-Windows 上实现对本地 Db2 数据库的无密码身份验证?” ,这可能是一个常见问题解答。

Db2-server 将认证委托给运行 Db2-server 的底层操作系统服务。请记住,Db2-server 在几个截然不同的操作系统上运行,其中只有一个是 MS-Windows。

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

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

如果您有一个本地Db2 服务器和一个在 MS-Windows 上运行的本地数据库,那么已经安装了所有必要的软件(如果使用默认值)来实现上述目的。

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

对于到 Db2-database的无密码本地 jdbc 连接,您可以使用 URL 格式"jdbc:db2:your_database_name"

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

本地数据库名称 = 示例的示例。

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 源等的附加属性。

于 2020-11-25T08:37:43.313 回答