今天做一个特殊的业务处理,用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.icore.core.CommandPool.invoker(CommandPool.java:92)at com.icore.core.CommandPool.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、下载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

四、系统防火墙或者杀毒软件
如果系统开防火墙或者杀毒软件,在有些情况下也可以出现类似的问题。
没有遇见过,有人这么说。

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

如果端口对上之后,还连不上的话,请检查数据驱动的版本(sql2005,sql2000驱动写法有些细微差异)
纯JAVA驱动:
// 2005 版本:
驱动: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错误解决方法总结相关推荐

  1. [Microsoft][SQL Server 2000 Driver for JDBC]Error establishing socket

    1. Install SQL Server 2000 Sp4. 2. Install SQL Server Driver for JDBC, then set the CLASSPATH. Insta ...

  2. [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户sa 登录 ...

    首先你不用代码直接进看能不能进去?如果能在看看登陆模式 呵呵,看下面解决方法: 二"无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了&quo ...

  3. 安装VS2003出现问题——Microsoft FrontPage 2000 Web 扩展客户端安装不成功 及其解决方法

    VS2003光盘介绍: VS2003,有三张ISO光盘,分别是: sc_vs.net_2003_prereq.iso: sc_vs.net_2003_enar_cd1.iso: sc_vs.net_2 ...

  4. mysql hy000 2013_MySQL ERROR 2013 (HY000)错误解决方法

    当通过 TCP/IP 连接 MySQL 远程主机时,出现 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial ...

  5. 饥荒启动服务器显示error,玩饥荒游戏提示“error during initialization”错误解决方法...

    有关win10系统玩饥荒游戏提示"error during initialization"错误的操作方法想必大家有所耳闻.但是能够对win10系统玩饥荒游戏提示"erro ...

  6. Flash上传出现IO Error #2038的错误解决方法

    1.问题 最近在开发网盘系统的时候发现,上传大文件时会提示IO Error #2038 的错误.系统采用了PHP和Flash控件来上传文件,网上的资料表明出现此错误的可能原因包括: URL无效 上传文 ...

  7. 使用dockerfile将应用镜像化,及error context checking错误解决方法。

    1.Dockerfile的用途 Dockerfile的作用:Dockerfile用于指导docker完成应用的容器化. 一个简单的Dockerfile内容. # Test web-app to use ...

  8. 关于wifi的HW hdr error:len/check错误解决方法

    在调试博通wifi出现下图所示的错误,找了好久才知道是哪里的问题,具体的错误如下: 解决的方法是,找到内核中的配置CONFIG_MMC_DW_IDMAC,把它注释掉即可.

  9. vue项目运行时报Error from chokidar错误解决方法

    今天在下载vue的脚手架的时候,运行npm install没有任何问题,node_modules模块都在,结果npm run serve 的时候出现了错误,没有出现该有的网址界面,但是很奇怪的是,你输 ...

  10. 我安装Microsoft SQLServer 2000时出现问题

    我安装Microsoft SQLServer 2000时出现问题 悬赏分:0 - 提问时间2006-8-31 19:54 问题为何被关闭 安装时,弹出一个窗口,提示"a previous p ...

最新文章

  1. [architecture]-Generic Timer
  2. 通过LDB_PROCESS函数使用逻辑数据库
  3. 创建自定义Widgets小部件扩展
  4. Echarts实现隐藏x轴,y轴,刻度线,网格
  5. 资源征集 | 2021年全国知识图谱与语义计算大会开放资源征集(Resource Track)通知...
  6. mysql safe file priv_MYSQL的secure_file_priv参数怎么用?
  7. DataList分页,保存CheckBox控件状态
  8. oracle容器部署,Linux docker oracle 部署
  9. 华为p20nfc怎么复制门禁卡_“碰一碰”即可开大门,华为手机上这个“逆天”功能,你用了吗?...
  10. spring boot 配置
  11. 采用C#泛型实现数据库之间的切换
  12. Git(6):使用git命令将本地项目提交至远程仓库
  13. ANSYS安装和破解教程
  14. oracle、mysql、sqlserver、pg数据库去重实现方案总结
  15. wifi产品调试经验
  16. 计算机科学编辑部态度,计算机科学期刊介绍--各种杂志投稿方式与评价(转)...
  17. 滴滴如何调度_怎么看待滴滴的调度小助手?_科技数码通
  18. rt-thread通过spi连接W25Q32后无法读取ID
  19. 编写一个学生和教师数据的输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门
  20. 打开 codeblocks 出现 ntvdm.exe 停止工作

热门文章

  1. 计算机基础知识点总结
  2. 解决“配置系统未能初始化”异常
  3. C++ MFC字体设置
  4. react 如何引入打印控件 CLodop
  5. 《语义网基础教程(原书第3版)》—— 导读
  6. 南京邮电大学 RE-WxyVM
  7. 云计算机教室优缺点,云教室和传统机房的区别,终于有人把它说清了
  8. 观察:家乡的、身边的真实互联网
  9. ildasm.exe查看dll库支持的Net版本
  10. C语言:字符数组的输入输出