2015-06-29 1 views
0

Существует источник данных с именем JNDI «jdbc/project/SimpleDS», определенным в WebSphere 7. В консоли администратора я изменил свойства источника данных: db_name, db_port, db_host, логин и пароль.Данные в WebSphere

Причем развернутые приложения, ссылки на «JDBC/проект/SimpleDS» источник данных кидает исключение:

java.sql.SQLInvalidAuthorizationSpecException: [jcc][t4][2013][11249] 
[4.8.87] Connection authorization failure occurred. Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000DSRA0010E: 
SQL State = 28000, Error Code = -4,214 
    at com.ibm.db2.jcc.am.gd.a(gd.java:674) 
    at com.ibm.db2.jcc.am.gd.a(gd.java:60) 
    at com.ibm.db2.jcc.am.gd.a(gd.java:120) 
    at com.ibm.db2.jcc.t4.b.p(b.java:2060) 
    at com.ibm.db2.jcc.t4.b.c(b.java:1649) 
    at com.ibm.db2.jcc.t4.db.r(db.java:799) 
    at com.ibm.db2.jcc.t4.db.k(db.java:353) 
    at com.ibm.db2.jcc.t4.db.c(db.java:133) 
    at com.ibm.db2.jcc.t4.b.Wc(b.java:1263) 
    at com.ibm.db2.jcc.t4.b.b(b.java:1184) 
    at com.ibm.db2.jcc.t4.b.a(b.java:5175) 
    at com.ibm.db2.jcc.t4.b.d(b.java:743) 
    at com.ibm.db2.jcc.t4.b.c(b.java:685) 
    at com.ibm.db2.jcc.t4.b.a(b.java:368) 
    at com.ibm.db2.jcc.t4.b.<init>(b.java:308) 
    at com.ibm.db2.jcc.t4.c.<init>(c.java:32) 
    at com.ibm.db2.jcc.DB2PooledConnection.<init>(DB2PooledConnection.java:192) 
    at com.ibm.db2.jcc.DB2XAConnection.<init>(DB2XAConnection.java:56) 
    at com.ibm.db2.jcc.DB2XADataSource.getXAConnection(DB2XADataSource.java:168) 
    at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:1338) 
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) 
    at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:1375) 
    at com.ibm.ws.rsadapter.spi.InternalDB2UniversalDataStoreHelper.getPooledConnection(InternalDB2UniversalDataStoreHelper.java:1855) 
    at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:2624) 
    at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1695) 
    at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:2086) 
    at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1761) 
    at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2636) 
    at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1064) 
    at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:701) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:668) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:635) 

Я использую Ubuntu 14,04

Как я могу заменить свойства источника данных во время выполнения?

+0

Возможно, вы используете псевдоним идентификации, и вы забыли обновить его до правильного пользователя/пароля. Лучший способ - перезапустить сервер после изменения свойств источника данных. – Gas

ответ

0

Вы используете JNDI для подключения к БД.

Вы не должны беспокоиться о том, какие настройки \ учетные данные источника данных. Это идея JNDI.

Если вам нужно изменить настройки соединения в динамическом режиме, возможно, вам лучше сдерживать JNDI и использовать механизм создания пользовательских соединений.

Если вы работаете на г/OS, то вы можете прочитать «Размножение учетных данных пользователя к DB2 с использованием JDBC типа 2» драйвера в WebSphere Application Server V7.0 Security Guide

0

Вам необходимо остановить и запустить узел (ы), чтобы произвести эффект. Вы можете сделать это, работающих под управлением следующих команд:

cd <was_home>/profiles/<node_name>/bin 

Для Linux:

остановить узел

./stopNode.sh 

начать Узлом

./startNode.sh 

для Windows

остановить узел

stopNode.bat 

начать Узел

startNode.bat 

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

0

Ripplestart это единственный способом подделать такую ​​вещь. Таким образом, пользователи имеют минимальный эффект. Если у вас нет кластерной модели A и B, где Cluster B уже отключен в сети, ожидая такого изменения, прежде чем он будет подключен к сети. Я не знаю, как изменить учетные данные во время выполнения без по крайней мере скользящей рециркуляции серверов приложений.