Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вызов хранимой процедуры используя JNDI в WebSphere Portal 6 / 12 сообщений из 12, страница 1 из 1
06.03.2010, 17:47
    #36506328
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
Доброго времени суток господа!

Используя RSA 7.0 я создал тестовый портлет
в DB2 9.1 создал тестовую хранимую процедуру

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
try{
  InitialContext ctx = new InitialContext();
  DataSource ds = (DataSource)ctx.lookup("test_jndi");
  Connection conn = (Connection)ds.getConnection();
  CallableStatement stmt  = (CallableStatement)conn.prepareCall("{ call TEST_SP( 1 ) }");
  ResultSet rs = stmt.executeQuery();
}catch(SQLException sqle){
  sqle.printStackTrace();
}catch(Exception e){
  e.printStackTrace();
}


В итоге в портлет не отображается и в логах выходит следующее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
[ 3 / 6 / 10   19 : 58 : 32 : 125  GMT- 08 : 00 ] 0000009e ServletWrappe E   SRVE0068E: Could not invoke the service() method on servlet /_TestConnectorPool/jsp/html/Te
stConnectorPoolPortletView.jsp. Exception thrown : javax.servlet.ServletException: com/ibm/db2/jcc/b/o
        at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java: 650 )
        at com.ibm._jsp._TestConnectorPoolPortletView._jspService(_TestConnectorPoolPortletView.java: 348 )
        at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java: 91 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
        at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java: 117 )
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java: 178 )
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java: 252 )
        at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java(Compiled Code))
        at org.apache.pluto.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java: 112 )
        at testconnectorpool.TestConnectorPoolPortlet.doView(TestConnectorPoolPortlet.java: 44 )
        at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java: 235 )
        at javax.portlet.GenericPortlet.render(GenericPortlet.java: 163 )
        at com.ibm.wps.pe.pc.std.cmpf.impl.PortletFilterChainImpl.render(PortletFilterChainImpl.java: 144 )
        at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.dispatch(PortletServlet.java: 131 )
        at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.doGet(PortletServlet.java: 70 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java: 743 )
        at com.ibm.wps.pe.pc.std.cache.CacheablePortlet.service(CacheablePortlet.java: 393 )
......

java.lang.NoClassDefFoundError: com/ibm/db2/jcc/b/o
        at com.ibm.db2.jcc.b.gb.r(gb.java: 2158 )
        at com.ibm.db2.jcc.b.gb.Vc(gb.java: 2393 )
        at com.ibm.db2.jcc.b.gb.sc(gb.java: 1397 )
        at com.ibm.db2.jcc.b.gb.l(gb.java: 506 )
        at com.ibm.db2.jcc.b.gb.k(gb.java: 330 )
        at com.ibm.db2.jcc.b.gb.e(gb.java: 96 )
        at com.ibm.db2.jcc.b.w.e(w.java: 83 )
        at com.ibm.db2.jcc.b.vb.i(vb.java: 164 )
        at com.ibm.db2.jcc.c.fg.q(fg.java: 1311 )
        at com.ibm.db2.jcc.c.gg.d(gg.java: 2386 )
        at com.ibm.db2.jcc.c.hg.V(hg.java: 146 )
        at com.ibm.db2.jcc.c.hg.executeQuery(hg.java: 129 )
        at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteQuery(WSJdbcPreparedStatement.java(Compiled Code))
        at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java(Compiled Code))
        at com.ibm._jsp._TestConnectorPoolPortletView._jspService(_TestConnectorPoolPortletView.java: 266 )
        at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java: 91 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
        at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java: 117 )
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java: 178 )
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java: 252 )
        at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java(Compiled Code))
        at org.apache.pluto.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java: 112 )
        at testconnectorpool.TestConnectorPoolPortlet.doView(TestConnectorPoolPortlet.java: 44 )
        at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java: 235 )
        at javax.portlet.GenericPortlet.render(GenericPortlet.java: 163 )
        at com.ibm.wps.pe.pc.std.cmpf.impl.PortletFilterChainImpl.render(PortletFilterChainImpl.java: 144 )


где искать проблему уже не знаю,
prepareStatement работает нормально

Кто-нибудь сталкивался с такой проблемой?
...
Рейтинг: 0 / 0
07.03.2010, 10:17
    #36506696
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
Еще в SystemOut выводится следующее сообщение
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[ 3 / 6 / 10   19 : 58 : 32 : 078  GMT- 08 : 00 ] 0000009e ConnectionFac W   J2CA0294W: Deprecated usage of direct JNDI lookup of resource test_jndi.  The following default values are used: [Resource-ref settings]

        res-auth:                  1  (APPLICATION)
        res-isolation-level:       0  (TRANSACTION_NONE)
        res-sharing-scope:        true (SHAREABLE)
        loginConfigurationName:   null
        loginConfigProperties:    null
[Other attributes]

        res-resolution-control:    999  (undefined)
isCMP1_x:                 false (not CMP1.x)
isJMS:                 false (not JMS)
может это поможет локализовать проблему?
...
Рейтинг: 0 / 0
07.03.2010, 19:06
    #36507018
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
Раскапывая проблему избавился от ругани на депрекейтед, но это не помогло.
Зато нашел проблему в db2jcc.jar
jar файлы с одинаковыми манифестами имели разные размеры, тот что был в портале не имел метода
com/ibm/db2/jcc/b/o.
Я заменил на свой.
Далее на код
Код: plaintext
1.
2.
3.
4.
5.
...
CallableStatement cstmt  = (CallableStatement)conn.prepareCall(call_statement);
cstmt.registerOutParameter( 1 , DB2Types.XML);
cstmt.execute();
DB2Xml xml = (DB2Xml) cstmt.getObject( 1 );

После апдейта портлета на портале вышло сообщение об ошибке ближе к проблеме:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
[ 3 / 7 / 10   21 : 40 : 10 : 516  GMT- 08 : 00 ]  00000038  SystemErr     R com.ibm.db2.jcc.c.SqlException: [ibm][db2][jcc][ 10183 ][ 10247 ] JDBC  3  method called: Method is not yet supported.
        at com.ibm.db2.jcc.c.hg.getObject(hg.java: 1198 )
        at com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.getObject(WSJdbcCallableStatement.java: 1597 )
        at com.ibm._jsp._TestConnectorPoolPortletView._jspService(_TestConnectorPoolPortletView.java: 229 )
        at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java: 91 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java: 856 )
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java: 1282 )
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java: 673 )
        at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java: 117 )
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java: 178 )
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java: 252 )
        at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java: 613 )
        at org.apache.pluto.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java: 112 )
        at testconnectorpool.TestConnectorPoolPortlet.doView(TestConnectorPoolPortlet.java: 44 )
        at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java: 235 )
        at javax.portlet.GenericPortlet.render(GenericPortlet.java: 163 )
        at com.ibm.wps.pe.pc.std.cmpf.impl.PortletFilterChainImpl.render(PortletFilterChainImpl.java: 144 )
        at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.dispatch(PortletServlet.java: 131 )
        at com.ibm.wps.pe.pc.std.invoker.impl.PortletServlet.doGet(PortletServlet.java: 70 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java: 743 )
        at com.ibm.wps.pe.pc.std.cache.CacheablePortlet.service(CacheablePortlet.java: 393 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java: 856 )
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java: 1282 )
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java: 673 )
        at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java: 613 )
        at com.ibm.wps.pe.om.definition.impl.ServletDefinitionImpl$RDWrapper.include(ServletDefinitionImpl.java: 406 )
        at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java: 204 )
        at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java: 168 )
        at com.ibm.wps.pe.pc.std.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.java: 97 )
        at com.ibm.wps.pe.pc.std.PortletContainerImpl.renderPortlet(PortletContainerImpl.java: 110 )
        at com.ibm.wps.pe.pc.PortletContainerImpl.doRenderPortlet(PortletContainerImpl.java: 587 )
        at com.ibm.wps.pe.ext.render.AbstractRenderManager.performService(AbstractRenderManager.java: 247 )
...
Рейтинг: 0 / 0
08.03.2010, 15:17
    #36507517
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
Последующие вызовы приводят к другой ошибке
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
[ 3 / 8 / 10   17 : 48 : 30 : 891  GMT- 08 : 00 ] 0000003a SystemErr     R java.lang.IndexOutOfBoundsException: Index: [color=red] [b]1 [/b][/color], Size:  1 
        at java.util.ArrayList.RangeCheck(ArrayList.java(Inlined Compiled Code))
        at java.util.ArrayList.get(ArrayList.java(Compiled Code))
        at com.ibm.db2.jcc.t4.d.l(d.java: 1239 )
        at com.ibm.db2.jcc.t4.d.fb(d.java: 1226 )
        at com.ibm.db2.jcc.t4.d.d(d.java: 1394 )
        at com.ibm.db2.jcc.b.bc.b(bc.java: 851 )
        at com.ibm.db2.jcc.b.bc.h(bc.java: 1649 )
        at com.ibm.db2.jcc.b.vk.getObject(vk.java: 789 )
        at com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.getObject(WSJdbcCallableStatement.java: 447 )
        at com.ibm._jsp._TestConnectorPoolPortletView._jspService(_TestConnectorPoolPortletView.java: 223 )
после нескольких рефрешей в браузере в логах
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
[ 3 / 8 / 10   17 : 58 : 53 : 672  GMT- 08 : 00 ]  00000038  SystemErr     R java.lang.IndexOutOfBoundsException: Index: [color=red] [b]12 [/b][/color], Size:  1 
        at java.util.ArrayList.RangeCheck(ArrayList.java(Inlined Compiled Code))
        at java.util.ArrayList.get(ArrayList.java(Compiled Code))
        at com.ibm.db2.jcc.t4.d.l(d.java: 1239 )
        at com.ibm.db2.jcc.t4.d.fb(d.java: 1226 )
        at com.ibm.db2.jcc.t4.d.d(d.java: 1394 )
        at com.ibm.db2.jcc.b.bc.b(bc.java: 851 )
        at com.ibm.db2.jcc.b.bc.h(bc.java: 1649 )
        at com.ibm.db2.jcc.b.vk.getObject(vk.java: 789 )
        at com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.getObject(WSJdbcCallableStatement.java: 447 )
        at com.ibm._jsp._TestConnectorPoolPortletView._jspService(_TestConnectorPoolPortletView.java: 223 )

Все ресурсы освобождаю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
	} finally {
		try { 
			if (rs != null) { 
				rs.close();
				rs = null;
			}
		} catch (SQLException ex) {
			rs = null;
		}
		try {
			if (cstmt != null) {
				cstmt.close(); 
				cstmt = null;
			}
		} catch (SQLException ex) {
			cstmt = null;
		}
		try { 
			if (conn != null) {
				conn.close();
				conn = null;
			}
		} catch (SQLException ex) {
			conn = null;
		}
	}
но проблема похоже с многопоточностью .

Как мне можно запретить многопоточный доступ и избавиться от такой ошибки?
...
Рейтинг: 0 / 0
09.03.2010, 10:08
    #36508238
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
indicatrix,

1. Что выдает versionInfo для WebSphere Portal ?
Какой фикспак установлен на портале?

2. Какой версии db2jcc.jar используется?
Код: plaintext
java -classpath <Путь>\db2jcc.jar com.ibm.db2.jcc.DB2Jcc -version
Таблица соответствия здесь DB2 JDBC/JCC Driver Versions
...
Рейтинг: 0 / 0
15.03.2010, 18:06
    #36521699
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
Евгений Хабаровindicatrix,

1. Что выдает versionInfo для WebSphere Portal ?
Какой фикспак установлен на портале?


Версия портала 6.0

Евгений Хабаровindicatrix,
2. Какой версии db2jcc.jar используется?
Код: plaintext
java -classpath <Путь>\db2jcc.jar com.ibm.db2.jcc.DB2Jcc -version
Таблица соответствия здесь DB2 JDBC/JCC Driver Versions

db2jcc -version
выдал 3.50.152

фикспаки для вебсферы наши админы сказали лучше вообще не делать, т.к. ломается портал.
На дб2 фикспаки тоже не установлены.

Установлено все это на Windows 2003 Server.

Спасибо за отклик!!!
...
Рейтинг: 0 / 0
15.03.2010, 18:07
    #36521704
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
версия ДБ2 9.5 сорри.
...
Рейтинг: 0 / 0
16.03.2010, 16:56
    #36524204
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
indicatrix
db2jcc -version
выдал 3.50.152

3.50.152 - это 9.1.0, вполне могли быть косяки с чтением XML через getObject().
Об этом говорит полученный Exception "JDBC 3 method called: Method is not yet supported."

1. Возьмите эту библиотеку с драйвером версии 3.50.152, сделайте тестовый Java-класс с тем же кодом (вызов хранимой и получение XML), скорее всего получите аналогичную ошибку.
2. Возьмите драйвер от 9.5 с актуальным фиксом. Выполните тестовый класс еще раз c более новым драйвером. Если отработает нормально - заменяйте драйвер в WPS более новым.

Ссылка на архив драйвера v9.5fp5_jdbc_sqlj.tar.gz
Взята здесь DB2 Version 9.5 Fix Pack 5 for Linux, UNIX, and Windows , IBM DB2 Driver for JDBC and SQLJ.

indicatrix
фикспаки для вебсферы наши админы сказали лучше вообще не делать, т.к. ломается портал.
На дб2 фикспаки тоже не установлены.

Фикспаки не просто так же выпускаются. В базовых релизах сложных продуктов достаточно много проблем. Фикспаки и устраняют проблемы, и добавляют совместимость с новыми уровнями смежных продуктов.
Recommended Updates for WebSphere Portal and Web Content Management V6.0

Базовый релиз WPS 6.0 - это аж 2006 год! С тех пор много "воды утекло".
Насчет "ломают" - ни подтвердить, ни опровергнуть не могу, нет сейчас в хозяйстве WPS, а на WAS 6.1 апдейты ставим регулярно.
...
Рейтинг: 0 / 0
17.03.2010, 11:36
    #36525626
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
Евгений Хабаровindicatrix
db2jcc -version
выдал 3.50.152

3.50.152 - это 9.1.0, вполне могли быть косяки с чтением XML через getObject().
Об этом говорит полученный Exception "JDBC 3 method called: Method is not yet supported."

1. Возьмите эту библиотеку с драйвером версии 3.50.152, сделайте тестовый Java-класс с тем же кодом (вызов хранимой и получение XML), скорее всего получите аналогичную ошибку.
2. Возьмите драйвер от 9.5 с актуальным фиксом. Выполните тестовый класс еще раз c более новым драйвером. Если отработает нормально - заменяйте драйвер в WPS более новым.

Ссылка на архив драйвера v9.5fp5_jdbc_sqlj.tar.gz
Взята здесь DB2 Version 9.5 Fix Pack 5 for Linux, UNIX, and Windows , IBM DB2 Driver for JDBC and SQLJ.

indicatrix
фикспаки для вебсферы наши админы сказали лучше вообще не делать, т.к. ломается портал.
На дб2 фикспаки тоже не установлены.

Фикспаки не просто так же выпускаются. В базовых релизах сложных продуктов достаточно много проблем. Фикспаки и устраняют проблемы, и добавляют совместимость с новыми уровнями смежных продуктов.
Recommended Updates for WebSphere Portal and Web Content Management V6.0

Базовый релиз WPS 6.0 - это аж 2006 год! С тех пор много "воды утекло".
Насчет "ломают" - ни подтвердить, ни опровергнуть не могу, нет сейчас в хозяйстве WPS, а на WAS 6.1 апдейты ставим регулярно.

А как ставить фикспаки на ДБ2?
Первые два фикспака для JDBC состоят просто из двух файлов db2jcc.jar, db2jcc_licence_cu.jar
А в третьем очень много чего.
Потом как можно узнать и где, что еще нужно доставлять к этим фикспакам (т.е. перед ними)

Спасибо за помощь!
...
Рейтинг: 0 / 0
17.03.2010, 13:01
    #36525921
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
indicatrix,

Первая ссылка - архив, из которого нужно вытащить db2jcc.jar. Это и будет DB2 JDBC драйвер версии 9.5 FP5. Чтобы можно было его использовать, нужно взять файл лицензии (db2jcc_licence_cu.jar) от db2 версии 9.5 (например с сервера 9.5) и добавить в classpath.

Вторая ссылка (на фикспаки для DB2) - та страница, с которой я получил предыдущую ссылку (приведено в качестве справочной информации)

Третья ссылка (на фикспаки для WebSphere Portal Server) приведена так же в справочных целях, показать текущий уровень фикспаков для этого продукта.

Фактически нужно:
1. Скачать архив по первой ссылке, вытащить из него db2jcc.jar.
2. Проверить что код с вызовом хранимой и получением XML из резалтсета выполняется без проблем на тестовом классе (Если такого тестового класса нет, его нужно написать).
3. Заменить db2jcс.jar в WebSphere Portal Server более новой версией (из п.1).
4. Выполнить "проблемный" код в WebSphere Portal Server.
5. Сообщить сюда о результатах выполнения.

Что касается фикспаков на продукты, то подробности по их установке и пре/пост-действиям нужно читать в документации на продукты, и в документации, которая идет в составе фикспаков.
...
Рейтинг: 0 / 0
17.03.2010, 14:52
    #36526305
indicatrix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
Игорь, большое спасибо за развернутую консультацию.

Есть еще у меня непонятный момент.

db2jcc.jar файл находится в папках
/opt/ibm/db2/V9.1/java и в
/opt/IBM/WebSphere/AppServer/lib

db2jcc_license_cu.jar
/opt/ibm/db2/V9.1/java и в
/opt/IBM/WebSphere/AppServer/lib
/opt/IBM/WebSphere/AppServer/universalDriver/lib


В настройках ibm/console
Environment> WebSphere Variables

UNIVERSAL_JDBC_DRIVER_PATH ${WAS_INSTALL_ROOT}/universalDriver/lib
DB2UNIVERSAL_JDBC_DRIVER_NATIVEPATH ${WAS_INSTALL_ROOT}/lib
DB2UNIVERSAL_JDBC_DRIVER_PATH ${WAS_INSTALL_ROOT}/lib
DB2_JDBC_DRIVER_PATH ${WAS_INSTALL_ROOT}/lib
DRIVER_PATH ${WAS_INSTALL_ROOT}

Не совсем понятно какие файлы нужно менять?
Как можно узнать какой версии эти файлы?
java com.ibm.db2.jcc.DB2Jcc -version какого файла выдает версию?

Заранее спасибо!
...
Рейтинг: 0 / 0
17.03.2010, 16:36
    #36526638
вызов хранимой процедуры используя JNDI в WebSphere Portal 6
indicatrix,

java -classpath "/opt/ibm/db2/V9.1/java/db2jcc.jar" com.ibm.db2.jcc.DB2Jcc -version
- Покажет версию драйвера, который находится по пути /opt/ibm/db2/V9.1/java.

Переменные сервера приложений могут (подчеркиваю именно МОГУТ, а не обязаны) использоваться при объявлении "JDBC Provider", который потом используется при создании "Connection Pool Data Source".
В JDBC Provider задается путь к необходимым Java-библиотекам драйвера.
При задании путей к классам могут быть использованы переменные окружения.
По умолчанию в шаблоне для "DB2 JDBC Provider" используются переменные "DB2UNIVERSAL_JDBC_DRIVER_PATH" и "UNIVERSAL_JDBC_DRIVER_PATH"

При создании провайдера можно сделать так (чтобы не трогать существующие настройки и провайдеров):
1. Выложить db2jcc.jar (из архива v9.5 fp 5) и db2jcc_licence_cu.jar в произвольный каталог на сервере, где развернут портал. У WebSphere Portal должны быть права на чтение этого каталога и файлов.
Пример пути : /opt/ibm/db2/db2jdbcv954
2. Создать переменную (WebSphere Environment Variable) с именем DB2JDBCV9 и значением /opt/ibm/db2/db2jdbcv954.
в разделе CLASSPATH при создании провайдера указать:
${DB2JDBCV9}/db2jcc.jar
${DB2JDBCV9}/db2jcc_licence_cu.jar
3. Создать пул соединений "Connection Pool Data Source" на основе этого провайдера.
Проверить пул на доступность "Test Connection".
4. Переключить приложение на работу через созданный пул соединений.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вызов хранимой процедуры используя JNDI в WebSphere Portal 6 / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]