热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Eclipse连接SQL2000连接不上抱出(TCP/IP到主机连接失败)

在用Eclipse连接SQL2000的时候总是连不上抱出的错误是:“TCPIP到主机连接失败”哪位大侠可以告诉我是什么原因,我调试了好几天都不成功,实在解决不了了,连接驱动的JAR包我已经引
在用Eclipse 连接SQL 2000的时候 总是连不上 抱出的错误是:“TCP/IP到主机连接失败”哪位大侠可以告诉我是什么原因,我调试了好几天都不成功,实在解决不了了,连接驱动的JAR包我已经引进来了。付上源代码,并把错误给出,请各位指教
import java.sql.*; 
class Mydatabase

public static void main(String args[]) 

String url="jdbc:sqlserver://localhost:1433;DatabaseName=ma"; 
String user="sa"; 
String password="123"; 
String sqlStr="select * from ma"; 

try 

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
System.out.println("类实例化成功!"); 

Connection con=DriverManager.getConnection(url,user,password); 
System.out.println("创建连接对象成功!"); 

Statement st=con.createStatement(); 
System.out.println("创建Statement成功!"); 

ResultSet rs=st.executeQuery(sqlStr); 
System.out.println("操作数据库成功!"); 
System.out.println("`````````````````````````````````````````````````"); 

while(rs.next()) 

System.out.print(rs.getString(1)+" "); 
System.out.print(rs.getString(2)+" "); 

System.out.println(); 

rs.close(); 
st.close(); 
con.close(); 

catch(Exception e) 

e.printStackTrace(); 




错误提示:
类实例化成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.ma.Mydatabase.main(Mydatabase.java:17)

38 个解决方案

#1


代码好象没问题,你要确定sqlserver开着以及防火墙没有阻扰通讯。

#2


SQL 肯定是开着的,我的放火墙是开着的,我在DOS下查了一下 并没有发现SQL 2000的端口被监听,但是我不知道怎么监听。但是在其他人的机器上端口号也没有监听就可以连上数据库,并且我的代码在别人的机器上也可以连上数据库,到底是怎么回事??请指教

#3


把防火墙关了试试。或者你的数据库装时不是选的默认的端口

#4


确定是升级到SP3或者sp4.

升级完后,可以在任务管理器找到SQLSERVER进程的PID,在DOS中输入netstat -nao找到SQLSERVER:PID所监听的端口号

SP3应该为1433

#5


防火墙我已经关掉了,数据库也打了SP3的补丁,还是连不上,我在DOS下查看了一下,1433的端口并没有被监听(端口号是默认的我并没有改),但是怎么样才能让它监听呢?

#6


我觉得还是升级到sq4比较好,至于监听的话,好像是没法用什么命令让他监听吧?

#7


1.SQLSERVER网络实用工具->TCP/IP可以查看端口号.
2.或者你可以先在任务管理器中找到SQLSERVER的进程ID;
  然后用netstat -nao命令看看对应进程ID所对应的监听端口号,如果不是1433就相应的做一下修改.

如果是SP3,SP4应该会有监听端口的.

再不行的话就重装一下吧,HOHO

#8


url="jdbc:sqlserver://localhost:1433;DatabaseName=ma"; 有错误,DatabaseName=ma好象不是那样写数据库名.

#9


用了这些方法还是连不上数据库,我的数据库端口号还是没有监听,从装了也不行。

#10


关注中~~~~~

#11


sqlserver打个p4包试

#12


装了JDBC驱动吗???

#13


SP4包 也没用,JDBC的驱动已经装了,我用的是 2005的驱动 sqljdbc.jar 只有这一个包,如果用以前的那三个包,还是出错 暂时还未解决。
但是我在他人的机器上运行我的程序 就可以连上数据库,很奇怪,我对比了一下,好象是我没有监听1433端口,但是我不知道怎么监听,一般情况下都是默认监听的,我估计可能是跟操作系统有关系。但是不想从装系统,太麻烦。

#14


String url="jdbc:sqlserver://localhost:1433;DatabaseName=ma";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatebaseName = ma"

#15


Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
错了把 
应该是
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 

#16


import java.sql.*;
public class SqlTest {
static Connection con;
static{
try{
Class.forName ("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs","sa","");
System.out.println("连接成功");
}catch(Exception e){
e.printStackTrace();
}
}
public ResultSet getResult(String str){
ResultSet rs=null;
try{
Statement stmt=con.createStatement();
rs=stmt.executeQuery(str);
}catch(Exception e){
e.printStackTrace();
}
return rs;
}
}



jdbc 一般是三个包

#17


打个sql2000的sp4 的包,还有就是jdbc的驱动,建议用5.0

#18


“hlsps(小鱼)” 你所指出的问题如果用以前的驱动(3个JAR包的)是要象你那样写,但是我用的是2005的驱动包,必须象我写的那样才正确,谢谢关注!

 kingwenjie() 的代码我也运行过,出想这样的错误
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.(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:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.ma.DataText.(DataText.java:9)

#19


com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

从这几句来看,你的连接被拒绝了。说明你的机器设置有问题~~不在于驱动什么的~~你再次看看你的机器配置,包括防火墙和杀毒软件,我以前也遇到过,还有你把localhost改成127.0.0.1试试~~

#20


用的是SQLSERVER2005,呵呵,去配置工具->sql server configuration manager打开,里面的TCPIP协议启用没有,没有则启用,然后重新启动数据库服务。

#21


驱动包有问题,我也遇到过!去微软的官方站上下载sqlserver2000的驱动包,是个setup.exe的文件,安装上后将目录下的lib文件夹中的3个包考到你到WEB-INF下就可以了。

#22


你应该是sql server2000,装到windows 2003上了吧。这样装的话,就sqlserver会出现不能被外网监听的问题。你需要打好sqlserver 2000的补丁才行。我以前遇到过这样的问题。

测试监听的方法可以用telnet 127.0.0.1 1433来判断主机127.0.0.1的断口是不是打开状态。

#23


另外需要注意的是选择sqlserver的登陆模式,要选择混合模式,不要选择,windows登陆模式。

#24


如果都不行的话,建议你把localhost 换成自己的IP地址试试

#25


装个SQL SERVER2000 SP4的补丁试下

#26


我的系统不是2003是XP,我的SQL登陆方式就是混合的登陆方式,补丁我已经打过了不过是 SP4的
我按你门说的 在实验一下吧 有结果后 我会在这里说的

#27


Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
错了把 
应该是
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 

===========================================================
先把驱动名改了再说吧

#28




我这2天也出现这个问题,纠结啊!

#29


你是不是没导入JAR包 或者你的SQL 里的TCP/IP关了

#30


TCP/IP  改为自动获取

#31


要装Sqlserver 的SP3补丁

#32


先把数据库服务停了,然后在数据库配置中把TCP/IP那个选项启用,启动服务就OK了!

#33


前阵子作也出现类似问题,SQL补丁打了,也还是不行,后来发现:你的连接串 应该指向具体的实例名(就是你打补丁的数据库实例名)
String   url= "jdbc:sqlserver://localhost:1433;DatabaseName=ma "; 

#34


TCP/IP 没开启

#35


打开SQL Server Configuration Manager/MSSQLSERVER 的协议/TCP/IP 点启用

#36


你可以去SQLServer2000的配置实用工具中把端口看一下,1433.

#37


好好卡看看你的数据库设置,相应的服务开启了吗
再就是tcp/ip协议那里这只正确了吗

#38


要你们项目组的人 连接一下你的数据库试试看啊!

楼上的还扯到 系统上去了!  好像 有点太了吧!

推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
author-avatar
张骞在这里
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有