- - PR -
weblogic9.1からOracle8iにOCI接続する方法について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-26 11:07
weblogic9.1からOracle8iに接続しようとしているのですが、
以下のようなエラーが出て失敗します。 --------------------------------------------------------------------- メッセージ : no ocijdbc10 in java.library.path スタック トレース : javax.servlet.ServletException: no ocijdbc10 in java.library.path at org.apache.beehive.netui.pageflow.internal.DefaultExceptionsHandler.handleException(DefaultExceptionsHandler.java:169) at org.apache.beehive.netui.pageflow.FlowController.handleException(FlowController.java:268) at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:450) at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:245) at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:316) at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:48) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:1948) at com.bea.console.internal.ConsolePageFlowRequestProcessor.processActionPerform(ConsolePageFlowRequestProcessor.java:188) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:590) at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:840) at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:607) at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:135) at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:241) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:130) at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:927) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:571) at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:122) at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:98) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:149) at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:108) at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:223) at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:169) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:290) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:300) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:126) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:105) at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:173) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137) at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:327) at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:190) at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:144) at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:206) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:124) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3151) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:179) ---------------------------------------------------------------------- ocijdbc10は、Oracle10gのdllのようですが、 8iに接続しようとしているので、不要だとおもっています。 どなたか情報お持ちでしたら教えてください。 | ||||||||
|
投稿日時: 2006-06-26 15:46
ドライバクラスには何を指定しているでしょうか?
OCI で接続するのであれば必ず DLL が必要になりますよ。 | ||||||||
|
投稿日時: 2006-06-26 17:05
ドライバクラスには、oracle.jdbc.driver.OracleDriver
URLには、jdbc.oracle.oci8:@接続先DB CLASSPATH= D:\oracle\ora81\jdbc\lib\classes12.zip; D:\bea\weblogic91\\server\lib\weblogic.jar; としています。 | ||||||||
|
投稿日時: 2006-06-26 18:35
繰り返しになりますが、OCI で接続するのであれば DDL をパス(PATH環境変数)に通す必要があります。
#WebLogic に限ったことではありませんが OCI で接続することが目的でなければ Thin ドライバや、BEA Type4 ドライバでの接続をお勧めします。今時 OCI にしたから特別パフォーマンスがあがるということもなさそうなので。(場合によりますが) | ||||||||
|
投稿日時: 2006-06-27 10:26
インギさん お付き合いいただきありがとうございます。
#繰り返しになりますが、OCI で接続するのであれば DDL をパス(PATH環境変数)に通す#必要があります。 も正しく設定しているつもりです。 それでも、ocijdbc10が足りませんのエラーは出続けます。 なぜ、OCI接続したいかというと、Thinドライバでは接続の確認はできていましたが、 CallableStatementを利用している箇所で、次のようなExceptionが発生したからです。 Oracle's Driver ------------------------------------------------------------------------ java.sql.SQLException: 列の型が無効です。 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) at oracle.jdbc.driver.OracleStatement.get_internal_type(OracleStatement.java:3198) at oracle.jdbc.driver.OracleCallableStatement.registerOutParameterInternal(OracleCallableStatement.java:123) at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:264) at oracle.jdbc.driver.OracleCallableStatement.registerOutParameter(OracleCallableStatement.java:344) at weblogic.jdbc.wrapper.CallableStatement_oracle_jdbc_driver_T4CCallableStatement.registerOutParameter(Unknown Source) ------------------------------------------------------------------------ BEA's Oracle Driver ------------------------------------------------------------------------ java.sql.SQLException: [BEA][Oracle JDBC Driver]このドライバは、指定された SQL 型をサポートしていません。 at weblogic.jdbc.base.BaseExceptions.createException(Unknown Source) at weblogic.jdbc.base.BaseExceptions.getException(Unknown Source) at weblogic.jdbc.base.BasePreparedStatement.validateSqlType(Unknown Source) at weblogic.jdbc.base.BaseCallableStatement.registerOutParameter(Unknown Source) at weblogic.jdbc.wrapper.CallableStatement_weblogic_jdbc_base_BaseCallableStatement.registerOutParameter(Unknown Source) ------------------------------------------------------------------------ 元々WLS6.1のときは、weblogic.jdbc.oci.Driverを使っていたのですが、 WLS9.0で廃止されてしまい、現在は使えません。 ちなみにエラーで「型」とありますが、 out curtype in VARCHAR だけなので、困るような型もないようにおもうのですが。。 | ||||||||
|
投稿日時: 2006-06-27 11:30
エラーにあるように、java.library.pathシステムプロパティに設定されている必要が あります。WLS9.1でどのように設定されるかわかりませんが、スタートアッププロシージャの 中身を確認してみてはどうでしょうか。
これだけだと、registerOutputParameterにどのような型を指定しているのかわかり ませんが、サポートされるデータ型はWLSのマニュアルに明示されていますので、 それ以外は使用できないでしょう。 | ||||||||
|
投稿日時: 2006-06-27 15:44
ukさん、返信有難うございます。
ところで、 >エラーにあるように、java.library.pathシステムプロパティに設定されている >必要があります。WLS9.1でどのように設定されるかわかりませんが、スタート >アッププロシージャの中身を確認してみてはどうでしょうか。 のスタートアッププロシージャとは何のことでしょうか? また、 >これだけだと、registerOutputParameterにどのような型を指定しているの >かわかりませんが、サポートされるデータ型はWLSのマニュアルに明示され >ていますので、 それ以外は使用できないでしょう。 とのことですが、WLSのマニュアルのURLを教えていただけませんでしょうか? あつかましいお願いで申し訳ありません。 | ||||||||
|
投稿日時: 2006-06-27 16:39
>のスタートアッププロシージャとは何のことでしょうか?
起動スクリプト(デフォルトでは startWebLogic.cmd とか startManagedWeblogic.cmd とか)のことではないでしょうか。PATH 環境変数をちゃんと設定しましょう。 >とのことですが、WLSのマニュアルのURLを教えていただけませんでしょうか? ドキュメントを検索してみてはいかがでしょう。 http://search.beasys.co.jp/cgi-bin/namazu.cgi?query=oracle+%83T%83%7C%81%5B%83g+%8C%5E&submit=Search%21&whence=0&max=10&result=normal&sort=score&idxname=e-docs%2Fwls%2Fdocs91 |