2016-03-10 3 views
1

Я пытаюсь подключиться к локальному серверу DB2 10.5 Express-C. Это тестовая среда, поэтому я не забочусь о безопасности.Пользователь и пароль при подключении к DB2 через JDBC

Я могу подключиться к процессору командной строки (работает в Windows), и я изменил настройки конфигурации для AUTHENTICATION=CLIENT и TRUST_ALLCLNTS=YES. Я ожидал, что смогу подключиться без аутентификации в этот момент (я перезапустил службу DB2), но я все еще получаю сообщение об ошибке.

Когда я пытаюсь подключиться без имени пользователя/пароля

jdbc:db2://localhost:50000/test 

Я получаю ошибку: com.ibm.db2.jcc.am.SqlSyntaxErrorException: [СТК] [t4] [10205] [11234] [ 4.14.146] Null userid не поддерживается. ERRORCODE = -4461, SQLSTATE = 42815

И когда я пытаюсь добавить «фиктивный» пользователь/пароль (потому что я не могу понять, как установить или сбросить учетные данные), например.

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

я получаю ошибку: com.ibm.db2.jcc.am.SqlInvalidAuthorizationSpecException: [ОКК] [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) = 
+0

У меня нет WebSphere, а не административной консоли WebSphere – isapir

ответ

2

Вы должны использовать URL JDBC типа 2 (jdbc:db2:test) Вместо URL типа 4, который вы используете. Вы можете использовать пустое имя пользователя/пароль.

Поскольку ваше приложение работает на том же компьютере, что и сервер базы данных, вам даже не нужно устанавливать AUTHENTICATION = CLIENT или TRUST_ALLCLNTS = YES.

+0

Когда я пытаюсь, нет ошибки из 'DriverManager.getConnection()'. но любой запрос, который я пытаюсь выполнить с помощью 'Statement.executeQuery()' или 'Statement.executeUpdate()' выдает 'ArrayIndexOutOfBoundsException':' java.lang.ArrayIndexOutOfBoundsException \t в java.lang.System.arraycopy (собственный метод) \t на com.ibm.db2.jcc.t4.ya (y.java:102) \t в com.ibm.db2.jcc.t4.ya (y.java:150) \t в com.ibm. db2.jcc.uw.UWReply.b (UWReply.java:62) \t at com.ibm.db2.jcc.t4.yc (y.java:360) \t at com.ibm.db2.jcc.t4. yd (y.java:375) \t at com.ibm.db2.jcc.t4.yf (y.java:646) \t at com.ibm.db2.jcc.t4.z.ic (z.java: 4622) ' – isapir

+0

Похоже, что у вас может быть несоответствие между драйвером JDBC и клиентом. Используете ли вы файл db2jcc.jar, который входит в вашу установку Express-C (т. Е. В 'C: \ Program Files \ IBM \ SQLLIB \ java') или другой загруженный драйвер? –

+0

Другой драйвер, загруженный с веб-сайта IBM, и я использую 'db2jcc4.jar', что может привести к несовместимости с строкой соединения JDBC 2. Я попытаюсь использовать тот, который вы упомянули, и отчитаться. – isapir

Смежные вопросы