#java #jdbc #websphere #datasource #jndi
#java #jdbc #websphere #источник данных #jndi
Вопрос:
Я пытаюсь подключиться к источнику данных, доступному на моем сервере websphere 7.0, через eclipse.
Ниже приведен код.
Hashtable<String, String> pdEnv = new Hashtable<String, String>();
pdEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
pdEnv.put(Context.PROVIDER_URL, "iiop://XX.XXX.XX.XX:YYYY");
Connection connection =null;
Context initialContext = new InitialContext(pdEnv);
DataSource datasource = (DataSource) initialContext.lookup("jdbc/AEDS");
if (datasource != null) {
connection = datasource.getConnection("admin","admin"); // DB credintials
} else {
System.out.println("hi");
}
Но я получаю приведенное ниже исключение при попытке подключиться к нему
Exception in thread "P=365798:O=0:CT" javax.naming.ServiceUnavailableException: A communication failure occurred while attempting to obtain an initial context with the provider URL:
at com.ibm.ws.naming.util.WsnInitCtxFactory.mapInitialReferenceFailure(WsnInitCtxFactory.java:2271)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getWsnNameService(WsnInitCtxFactory.java:1457)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:987)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:909)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:581)
Меня также смущает номер порта, который будет использоваться с URL-адресом iiop, поскольку у нас есть несколько серверов, работающих на одном узле, и каждый из них имеет свой загрузочный порт.
Комментарии:
1. В какой области вы настроили источник данных?
2. Область для источника данных — ячейка
3. Используемый вами порт должен быть тем, для какого сервера вы обычно получаете доступ к источнику данных, но поскольку вы используете ячейку, это не должно иметь значения. Вам также необходимо проверить имя хоста. Если вы на том же клиентском компьютере просто пытаетесь подключиться к порту, что-то отвечает на этом порту или вам отказывают в подключении? (вы можете попробовать telnet для этого имени хоста и порта)
4. Я использовал тот же порт сервера начальной загрузки, но получаю исключение неизвестного хоста. попытался пропинговать хост, и это было успешно
5. Если вы получаете неизвестный хост, это действительно то, с чего вам следует начать. Если вы попробуете IP-адрес, он будет работать?