失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结

[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结

时间:2023-06-12 09:38:42

相关推荐

[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结

今天做一个特殊的业务处理,用JDBC连接SQLServer数据库加载驱动的时候,报如下错误:

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 app.specialSupervise.power.keywork.SendMessageDao.insert(SendMessageDao.java:68)at app.specialSupervise.power.keywork.SendMessageCmd.insert(SendMessageCmd.java:15)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.icore.util.CoreDaoFactory.invoke(CoreDaoFactory.java:117)at com.icore.util.CoreDaoFactory.invoke(CoreDaoFactory.java:135)at com.mandPool.invoker(CommandPool.java:92)at com.mandPool.handler(CommandPool.java:122)at com.inspur.core.action.c.handler(c.java:213)at com.icore.core.CoreAction.handler(CoreAction.java:234)at com.icore.http.HttpServerHandler$RestHandler.doHandler(HttpServerHandler.java:267)at com.icore.http.HttpServerHandler$RestHandler.handler(HttpServerHandler.java:254)at com.icore.core.ThreadPoolBean.run(ThreadPoolBean.java:57)at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)

一、配置错误

jdbc配置语句为: jdbc:microsoft:sqlserver://server_name:1433

其中的sqlserver、server_name和端口号都要看仔细了。

二、1433端口问题

可以通过命令“netstat -an”,来查看是否开了1433端口,如果列表中没有,要增开端口。

要保持jdbc配置语句( jdbc:microsoft:sqlserver://server_name:1433)中的端口与数据库传输协议默认的端口相同。

MSSQL设置端口号步骤如下:

1. 打开企业管理器,依次在控制台根目录 ->Microsoft SQL Servers->SQL Server 组,列出一部分数据库服务器。

2. 右击我们要连接的数据库服务器,选择属性,在常规选项卡点击网络配置弹出新窗口。

3. 在启用的协议区域我们选择 TCP/IP ,点击属性按钮,弹出新窗口。在这个窗口有网络协议默认值设置,一般默认端口是:1433。 如果你在url中用的端口号与这个不同,就会出现错误。应保持二者相同。

三、没打补丁

可以用如下的方式查看MSSQL的版本:

打开企业管理器-〉工具-〉SQL查询分析器-〉帮助-〉关于

查看MSSQL的详细版本号

如果 是 8.00.194 就是还没打补丁

8.00.760 就是SP3

8.00.2039 就是SP4

1、下载MSSQL2000 Service Pack 3a并安装,SQL请选用混和安装模式!!!

/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

/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en

四、系统防火墙或者杀毒软件

如果系统开防火墙或者杀毒软件,在有些情况下也可以出现类似的问题。

没有遇见过,有人这么说。

五、数据驱动版本或者写法不对应

如果端口对上之后,还连不上的话,请检查数据驱动的版本(sql,sql2000驱动写法有些细微差异)

纯JAVA驱动:

// 版本:

驱动:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

连接:”jdbc:sqlserver:// localhost:1433;databaseName=pubs”,”sa”,”sa”

// 2000 版本:

驱动:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

连接:“jdbc:microsoft:sqlserver:// localhost:1433;databaseName=pubs”,”sa”,”sa”

JDBC-ODBC桥接:

驱动:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

连接:jdbc:odbc:test

如果觉得《[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket错误解决方法总结》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。