使用java读取excel表中的数据,然后插入到sqlserver数据库中,每行excel数据作为一条记录插入,开始时候正常,每次插入到130多条就会开始出现如下错误:(ps:excel数据没有异常,我数据库的连接connnection,statement,resultset都关闭了),帮看看,谢谢!

do row 128...
do row 129...
do row 130...
do row 131...
do row 132...
do row 133...
do row 134...
do row 135...
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.dict.model.dao.DBConnFactory.connect(DBConnFactory.java:99)
at com.dict.model.dao.DataAccessObject.connectDB(DataAccessObject.java:41)
at com.dict.model.dao.DAO_WORD.queryIDByName(DAO_WORD.java:48)
at com.dict.model.agent.frxt.magl.FRXT_MAGL_MAZJ_Agent.insertAllWordInfo(FRXT_MAGL_MAZJ_Agent.java:193)
at com.dict.common.ExcelDealer.importMA(ExcelDealer.java:103)
at com.dict.common.ExcelDealer.main(ExcelDealer.java:126)
java.lang.NullPointerException
at com.dict.model.dao.DAO_WORD.queryIDByName(DAO_WORD.java:49)
at com.dict.model.agent.frxt.magl.FRXT_MAGL_MAZJ_Agent.insertAllWordInfo(FRXT_MAGL_MAZJ_Agent.java:193)
at com.dict.common.ExcelDealer.importMA(ExcelDealer.java:103)
at com.dict.common.ExcelDealer.main(ExcelDealer.java:126)java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.dict.model.dao.DBConnFactory.connect(DBConnFactory.java:99)
at com.dict.model.dao.DataAccessObject.connectDB(DataAccessObject.java:41)
at com.dict.model.dao.DAO_WORD.insertWord(DAO_WORD.java:88)
at com.dict.model.agent.frxt.magl.FRXT_MAGL_MAZJ_Agent.insertAllWordInfo(FRXT_MAGL_MAZJ_Agent.java:194)
at com.dict.common.ExcelDealer.importMA(ExcelDealer.java:103)
at com.dict.common.ExcelDealer.main(ExcelDealer.java:126)
java.lang.NullPointerException
at com.dict.model.dao.DAO_WORD.insertWord(DAO_WORD.java:89)
。。

解决方案 »

  1.   

    是不是数据库的问题啊,sql异常
      

  2.   

    是不是sql2000没打补丁啊?我以前没打补丁,报过类似的错:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at test1.jdbc.main(jdbc.java:21)
    可以用如下的方式查看MSSQL的版本:  
    打开企业管理器-〉工具-〉SQL查询分析器-〉帮助-〉关于  
    查看MSSQL的详细版本号  
    如果 是 8.00.194 就是还没打补丁  
    8.00.760 就是SP3  
    8.00.2039 就是SP4  1、下载MSSQL 2000 Service Pack 3a并安装,SQL请选用混和安装模式!!!  
    http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn  
    解压缩sp3的升级包后,还要点击setup安装.才能成功升级到sp3。  
    2、下载SQL Server 2000 Driver for JDBC Service Pack 3  
    http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en 
      

  3.   

    谢谢楼上的几位,我打过sp3了,由于使用xp,所以装的是sqlserver的个人版,至于总开关连接,由于是使用其他已经写好的方法,所以才会导致这样,不知道是不是这个原因,但是每次都是在135这里断掉,不知道为什么?
      

  4.   

    需要下载sqlserver驱动,创建数据库,使用用户名和密码连接
      

  5.   

    java.lang.NullPointerException
    at com.dict.model.dao.DAO_WORD.queryIDByName(DAO_WORD.java:49)
    at com.dict.model.agent.frxt.magl.FRXT_MAGL_MAZJ_Agent.insertAllWordInfo(FRXT_MAGL_MAZJ_Agent.java:193)
    at com.dict.common.ExcelDealer.importMA(ExcelDealer.java:103)
    at com.dict.common.ExcelDealer.main(ExcelDealer.java:126)