寻找使用 Windows 身份验证在 DB2 数据库上使用 JDBC 的示例,最好使用 db2jcc4.jar 驱动程序。似乎是一个足够常见的场景,但我很难找到一个例子。
1 回答
您最初的问题太模糊了,直到您通过评论澄清它,询问如何在没有用户 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 属性的所有详细信息
其他页面显示特定于 Z/OS 数据源、云数据库、i 系列数据源或 informix 源等的附加属性。