当前位置: 首页 > 知识库问答 >
问题:

通过JDBC连接到DB2时的用户和密码

西门胜涝
2023-03-14

我正在尝试连接到本地DB210.5Express-C服务器。这是一个测试环境,所以我不关心安全性。

我能够连接到命令行处理器(在Windows上运行),并更改了AUTHENTICATION=CLIENTTRUST_ALLCLNTS=YES的配置设置。当时我希望能够在没有身份验证的情况下进行连接(我重新启动了DB2服务),但仍然出现了一个错误。

当我尝试在没有用户名/密码的情况下连接时

jdbc:db2://localhost:50000/test

我得到了错误:com.ibm.db2.jcc.am.SqlSynTaxErrorException:[jcc][t4][10205][11234][4.14.146]不支持空用户ID。ERRORCODE=-4461, SQLSTATE=42815

当我试图添加“假”用户/密码时(因为我不知道如何设置或重置凭据),例如。

jdbc:db2://localhost:50000/test:user=userid;password=password;

我得到一个错误:com。国际商用机器公司db2。jcc。是SqlInvalidAuthorizationSpecException:[jcc][t4][201][11237][4.14.146]发生连接授权失败。原因:不支持安全机制。ERRORCODE=-4214,SQLSTATE=28000

如何使用JDBC进行连接?

DB2配置如下:

db2 get dbm cfg


          Database Manager Configuration     Node type = Database Server with local and remote clients Database manager configuration release level            = 0x1000 CPU speed (millisec/instruction)             (CPUSPEED) = 1.023413e-007 Max number of concurrently active databases     (NUMDB) = 32
 Federated Database System Support           (FEDERATED) = NO
 Transaction processor monitor name        (TP_MON_NAME) = 
 Default charge-back account           (DFT_ACCOUNT_STR) = 
 Java Development Kit installation path       (JDK_PATH) = C:\PROGRA~1\IBM\SQLLIB\java\jdk Diagnostic error capture level              (DIAGLEVEL) = 3
 Notify Level                              (NOTIFYLEVEL) = 3
 Diagnostic data directory path               (DIAGPATH) = E:\Data\DB2\\IBM\DB2\DB2COPY1\DB2\
 Current member resolved DIAGPATH                        = E:\Data\DB2\\IBM\DB2\DB2COPY1\DB2\
 Alternate diagnostic data directory path (ALT_DIAGPATH) = 
 Current member resolved ALT_DIAGPATH                    = 
 Size of rotating db2diag & notify logs (MB)  (DIAGSIZE) = 0 Default database monitor switches
   Buffer pool                         (DFT_MON_BUFPOOL) = OFF
   Lock                                   (DFT_MON_LOCK) = OFF
   Sort                                   (DFT_MON_SORT) = OFF
   Statement                              (DFT_MON_STMT) = OFF
   Table                                 (DFT_MON_TABLE) = OFF
   Timestamp                         (DFT_MON_TIMESTAMP) = ON
   Unit of work                            (DFT_MON_UOW) = OFF
 Monitor health of instance and databases   (HEALTH_MON) = OFF SYSADM group name                        (SYSADM_GROUP) = 
 SYSCTRL group name                      (SYSCTRL_GROUP) = 
 SYSMAINT group name                    (SYSMAINT_GROUP) = 
 SYSMON group name                        (SYSMON_GROUP) = 
 Client Userid-Password Plugin          (CLNT_PW_PLUGIN) = 
 Client Kerberos Plugin                (CLNT_KRB_PLUGIN) = IBMkrb5
 Group Plugin                             (GROUP_PLUGIN) = 
 GSS Plugin for Local Authorization    (LOCAL_GSSPLUGIN) = 
 Server Plugin Mode                    (SRV_PLUGIN_MODE) = UNFENCED
 Server List of GSS Plugins      (SRVCON_GSSPLUGIN_LIST) = 
 Server Userid-Password Plugin        (SRVCON_PW_PLUGIN) = 
 Server Connection Authentication          (SRVCON_AUTH) = NOT_SPECIFIED
 Cluster manager                                         = 
 Database manager authentication        (AUTHENTICATION) = CLIENT
 Alternate authentication           (ALTERNATE_AUTH_ENC) = NOT_SPECIFIED
 Cataloging allowed without authority   (CATALOG_NOAUTH) = YES
 Trust all clients                      (TRUST_ALLCLNTS) = YES
 Trusted client authentication          (TRUST_CLNTAUTH) = CLIENT
 Bypass federated authentication            (FED_NOAUTH) = YES Default database path                       (DFTDBPATH) = C: Database monitor heap size (4KB)          (MON_HEAP_SZ) = AUTOMATIC(66)
 Java Virtual Machine heap size (4KB)     (JAVA_HEAP_SZ) = 2048
 Audit buffer size (4KB)                  (AUDIT_BUF_SZ) = 0
 Global instance memory (4KB)          (INSTANCE_MEMORY) = AUTOMATIC(3592673)
 Member instance memory (4KB)                            = GLOBAL
 Agent stack size                       (AGENT_STACK_SZ) = 16
 Sort heap threshold (4KB)                  (SHEAPTHRES) = 0 Directory cache support                     (DIR_CACHE) = YES Application support layer heap size (4KB)   (ASLHEAPSZ) = 15
 Max requester I/O block size (bytes)         (RQRIOBLK) = 65535
 Workload impact by throttled utilities(UTIL_IMPACT_LIM) = 10 Priority of agents                           (AGENTPRI) = SYSTEM
 Agent pool size                        (NUM_POOLAGENTS) = AUTOMATIC(100)
 Initial number of agents in pool       (NUM_INITAGENTS) = 0
 Max number of coordinating agents     (MAX_COORDAGENTS) = AUTOMATIC(200)
 Max number of client connections      (MAX_CONNECTIONS) = AUTOMATIC(MAX_COORDAGENTS) Keep fenced process                        (KEEPFENCED) = YES
 Number of pooled fenced processes         (FENCED_POOL) = AUTOMATIC(MAX_COORDAGENTS)
 Initial number of fenced processes     (NUM_INITFENCED) = 0 Index re-creation time and redo index build  (INDEXREC) = RESTART Transaction manager database name         (TM_DATABASE) = 1ST_CONN
 Transaction resync interval (sec)     (RESYNC_INTERVAL) = 180 SPM name                                     (SPM_NAME) = WORKS12
 SPM log size                          (SPM_LOG_FILE_SZ) = 256
 SPM resync agent limit                 (SPM_MAX_RESYNC) = 20
 SPM log path                             (SPM_LOG_PATH) = 
 TCP/IP Service name                          (SVCENAME) = db2c_DB2
 Discovery mode                               (DISCOVER) = SEARCH
 Discover server instance                (DISCOVER_INST) = ENABLE SSL server keydb file                   (SSL_SVR_KEYDB) = 
 SSL server stash file                   (SSL_SVR_STASH) = 
 SSL server certificate label            (SSL_SVR_LABEL) = 
 SSL service name                         (SSL_SVCENAME) = 
 SSL cipher specs                      (SSL_CIPHERSPECS) = 
 SSL versions                             (SSL_VERSIONS) = 
 SSL client keydb file                  (SSL_CLNT_KEYDB) = 
 SSL client stash file                  (SSL_CLNT_STASH) = 
 Maximum query degree of parallelism   (MAX_QUERYDEGREE) = ANY
 Enable intra-partition parallelism     (INTRA_PARALLEL) = NO No. of int. communication buffers(4KB)(FCM_NUM_BUFFERS) = AUTOMATIC(1024)
 No. of int. communication channels   (FCM_NUM_CHANNELS) = AUTOMATIC(512)
 db2start/db2stop timeout (min)        (START_STOP_TIME) = 10 WLM dispatcher enabled                 (WLM_DISPATCHER) = NO WLM dispatcher concurrency            (WLM_DISP_CONCUR) = COMPUTED WLM dispatcher CPU shares enabled (WLM_DISP_CPU_SHARES) = NO WLM dispatcher min. utilization (%) (WLM_DISP_MIN_UTIL) = 5 Communication buffer exit library list (COMM_EXIT_LIST) = 
 Current effective arch level         (CUR_EFF_ARCH_LVL) = V:10 R:5 M:0 F:5 I:0 SB:0
 Current effective code level         (CUR_EFF_CODE_LVL) = V:10 R:5 M:0 F:5 I:0 SB:0 Keystore type                           (KEYSTORE_TYPE) = NONE
 Keystore location                   (KEYSTORE_LOCATION) = 

共有1个答案

戚宏扬
2023-03-14

您需要使用JDBC Type 2 URL(jdbc: db2: test)而不是您正在使用的Type 4 URL。您可以使用空用户名/密码。

由于您的应用程序与数据库服务器在同一台机器上运行,因此您甚至不需要设置AUTHENTICATION=CLIENTTRUST_ALLCLNTS=YES

 类似资料:
  • 我们有来自IBM(P8)的AS/400机器,它使用DB2数据库。我想通过JDBC连接从DB2读取表并对其进行处理。连接到DB2数据库并用java程序生成sql语句是可能的?如果是的话,有人能出示一点样本吗。提前道谢。

  • 我正在尝试通过JDBC连接到使用Eclipse(版本Juno)的IBMDB2数据库。我已经将驱动程序(外部jar文件)添加到我的项目中,并且驱动程序已正确加载… 我还知道连接数据(数据库路径、用户名、密码)是正确的。但我得到一个java.lang.NoClassDefFoundError: 项目属性肯定有问题但是我真的不知道去哪里找。

  • 连接失败,出现此异常。我无法追踪到底发生了什么? 另外,getconnection之后的db2diag.log是:

  • 问题内容: 我正在尝试通过网络连接到MySQL数据库。我已经安装了MySQL,并且该服务在默认端口上运行。我还将SQL连接器安装到jar文件中,并将Java JDK添加到服务器计算机中。我可以使用以下代码连接到本地数据库: 但是,当我尝试通过IP地址(例如:192.168.1.45)通过网络连接到它时: 我收到连接错误: 有人知道这个问题是什么吗?我需要添加其他地址吗?我已经使用地址添加了默认端口

  • 这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。

  • 在线程“main”java.sql.sqlexception:在java.sql.drivermanager.getconnection(未知源)在java.sql.drivermanager.getconnection(未知源)在com.test.readalltables.main(readalltables.java:18)找不到适合JDBC的驱动程序:as400:/192.168.1.11