轉載: http://blog.csdn.net/weiruoao/article/details/22278783
錯誤信息:
-------------in sendHeartBeats
-------------in sendHeartBeats
2014-03-24 17:37:51,456 ERROR (com.ylkj.drmt.importer.IndicatorDimensionCompostionImporter:226) - T_JJ_YYJC_JJAQJMjava.sql.SQLException: Io : NL Exception was generated
? ? ? ? at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
? ? ? ? at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
? ? ? ? at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
? ? ? ? at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
? ? ? ? at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:420)
? ? ? ? at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
? ? ? ? at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
? ? ? ? at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
? ? ? ? at java.sql.DriverManager.getConnection(DriverManager.java:525)
? ? ? ? at java.sql.DriverManager.getConnection(DriverManager.java:171)
? ? ? ? at com.ylkj.drmt.dataquality.detaildata.service.impl.JoinCheckServiceImpl.getStatNum(JoinCheckServiceImpl.java:64)
? ? ? ? at com.ylkj.drmt.dataquality.detaildata.service.impl.JoinCheckServiceImpl.addJoinValidate(JoinCheckServiceImpl.java:203)
? ? ? ? at com.ylkj.drmt.dataquality.detaildata.service.impl.JoinCheckServiceImpl
cbd107bc.invoke(<generated>)
? ? ? ? at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
? ? ? ? at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
? ? ? ? at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
? ? ? ? at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
? ? ? ? at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
? ? ? ? at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
? ? ? ? at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
? ? ? ? at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
? ? ? ? at com.ylkj.drmt.dataquality.detaildata.service.impl.JoinCheckServiceImpl
f685b5ea.addJoinValidate(<generated>)
? ? ? ? at com.ylkj.drmt.dataquality.detaildata.validate.engine.IdvalidateEngine.joinValidate(IdvalidateEngine.java:112)
? ? ? ? at com.ylkj.drmt.dataquality.detaildata.validate.engine.DvalidateEngine$1.processor(DvalidateEngine.java:80)
? ? ? ? at com.ylkj.drmt.dataquality.detaildata.validate.engine.IdvalidateEngine.run(IdvalidateEngine.java:126)
? ? ? ? at java.lang.Thread.run(Thread.java:595)
-------------in sendHeartBeats
-------------in sendHeartBeats
?
?
分析解決:
RAC的配置如下:
node1:ip地址192.168.60.132,實例名:rac1,主機名:rac1
?
node2:ip地址192.168.60.144,實例名:rac2,主機名:rac2
?
RAC服務名為oratest
我的應用服務器為apache+weblogic
?
配置過程如下
?
1、搜索了一下,發現提供的連接RAC方法很多,拷貝了如下的jdbcURL:?????
?
jdbc:oracle:thin:@(description=(address_list=?(address=(host=192.168.60.132)?(protocol=tcp)(port=1521))(address=(host=192.168.60.144)(protocol=tcp)?(port=1521))?(load_balance=yes)(failover=yes))(connect_data=(service_name=?oratest)))
?
但是weblogic報出如下錯誤:
Io?異常:?NL?Exception?was?generated;
?
2、又從網上google、baidu一番,雖然找到n方法,但就是連不上,總是提示這個錯誤;
?
3、無奈之中,打開數據庫tnsname.ora,發現其中的配置如下:
?oratest=
??(DESCRIPTION?=
????(ADDRESS_LIST?=
??????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?rac1)(PORT?=?1521))
??????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?rac2)(PORT?=?1521))
??????(LOAD_BALANCE?=?yes)
????)
????(CONNECT_DATA?=
??????(SERVER?=?DEDICATED)
??????(SERVICE_NAME?=?oratest)
????)
??)
于是將jdbcUR修改成:
jdbc:oracle:thin:@(description=(address_list=?(address=(host=rac1)?(protocol=tcp)(port=1521))(address=(host=rac2)(protocol=tcp)?(port=1521))?(load_balance=yes)(failover=yes))(connect_data=(service_name=?oratest)))
?
測試一下,結果竟然成功了;
初步認為是:數據庫服務采用主機名,而在jdbcURL中采用ip地址的方式就會出現NL?Exception的問題;
?
建議:
對于連接RAC有問題的情況,最好使用tnsnames.ora中連接字符串進行連接;
?
?不知道大家有沒有遇到這樣的問題?
?
XML:
??(address=(host=?192.19.1.201?)(protocol=tcp)?(port=1521))?(load_balance=yes)
??(failover=yes))(connect_data=(service_name= dbTest)))<
?
:java.sql.SQLException: Io : NL Exception was generated錯誤解決(jdbc數據源問題)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
