Connection conn = null;
Statement state = null;
ResultSet rs = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
String url="jdbc:microsoft:sqlserver://"+ip+":1433;DatabaseName="+name; 

 conn= DriverManager.getConnection(url,user,password); 
if(!conn.isClosed()){
 System.out.println("连接DB成功!!!");
}
state = conn.createStatement();
rs = state.executeQuery("select * from ACCOUNT");
if(rs.next()){
do{
Node rootname = XmlUtil.appendNode(doc, "root/data/list@type='rootname']/rootname/rootname" );
Node rootid = XmlUtil.appendNode( doc, "root/data/list[@type='rootname']/rootname/rootid" );
XmlUtil.setNodeValue( rootname, rs.getString(1) );
XmlUtil.setNodeValue( rootid, rs.getString(2) );
}while(rs.next());
}else{
System.out.println("P3中无EPS根节点!");
 }
} catch (RuntimeException e) {
e.printStackTrace();
throw new Exception("数据查询异常");
}finally{
ConnectionManager.freeResource(rs, state, conn);
}
conn连接已经成功,state也初始化成功,执行rs = state.executeQuery("select * from ACCOUNT");时抛出异常:
连接DB成功!!!
java.lang.NullPointerException
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.getTransliteratorForCodePage(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processColMetaData(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at com.ygsoft.p3.P3EPSTree.BL_queryRootName(P3EPSTree.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.primeton.tp.core.bizservice.state.MethodBizState.invoke(MethodBizState.java:79)
at com.primeton.tp.core.bizservice.ProcessRunner.implement(ProcessRunner.java:187)
at com.primeton.tp.core.bizservice.ProcessCaller.implement_noEJB(ProcessCaller.java:230)
at com.primeton.tp.core.bizservice.ProcessCaller.implement(ProcessCaller.java:117)
at com.primeton.tp.core.prservice.automation.ActionState.debugProcess(ActionState.java:430)
at com.primeton.tp.core.prservice.automation.ActionState.doUseCase(ActionState.java:141)
at com.primeton.tp.core.prservice.automation.ActionState.doState(ActionState.java:58)
at com.primeton.tp.core.prservice.automation.PrAutomationRunner.processAuto(PrAutomationRunner.java:164)
at com.primeton.tp.core.prservice.automation.PrAutomationRunner.process(PrAutomationRunner.java:74)
at com.primeton.tp.core.prservice.controller.Controller.doAction(Controller.java:243)
at com.primeton.tp.web.driver.webdriver.WebDriver.process(WebDriver.java:715)
at com.primeton.tp.web.driver.webdriver.WebDriver.doPost(WebDriver.java:447)
at com.primeton.tp.web.driver.webdriver.WebDriverUpload.doPost(WebDriverUpload.java:164)
at com.primeton.tp.web.driver.webdriver.WebDriver.doGet(WebDriver.java:263)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
希望哪位高人指点一下怎么解决