文章来源:[url]http://quezhuning.spaces.live.com/Blog/cns!19493C442298AE31!465.entry[/url]

关于可恶的JDBC连接微软SQLSERVER2000数据库的问题(一)

以前在WINDOWS 2000 SERVER(SP4)服务器版连接成功过,这回换成WINDOWS XP操作系统后连接了好几次也没有成功,他们所说的给SQLSERVER2000打上SP3补丁就好用,可是就算点完加补丁的程序之后,好像版本的补丁还是SP2没有变,不知什么意思。
以下是转自一个网民的相关连接资料,我将在下一篇写自己连接成功的方法:
java连接SQL server 2000 详细步骤
 
配置:winXP JDK1.6 SQL server 2000
出错信息:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing 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 Sou
rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
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:549)
at java.sql.DriverManager.getConnection(DriverManager.java:181)
at MSDBdemo.main(MSDBdemo.java:11)
数据库连接失败
注:1,打过sp3,sp3a,sp4补丁
2,telnet 服务开启
3,JDBC驱动成功安装
4,防火墙关了
5,程序如下:
import java.sql.*;
public class SQLconn{
public static void main(String[] args){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
System.out.println("数据库驱动程序注册成功!");
String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind";
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功");
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("数据库连接失败");
}
}
}
尽管以前连过,这次仍花费了N多时间查资料,配置,现在把详细步骤贴给大家,分享之。

一,JDBC-ODBC桥的方法,这种方法最简单了。
1,新建一个数据库,为student吧,再在其中新建一张表命名为info,添加一些数据(方便观察效果),下面我们配置数据源
开始----控制面板----管理工具----数据源-----添加----选中“SQL Server”----完成
把用户数据源名称写上sql server 2000(可自填)。点“下一步”----完成----“测试数据源”,如果提示成功,OK,数据源配置好了!代码如下:import java.sql.*;
public class q
{
public static void main(String[] args)
{
String sql;
Connection conn;
Statement stmt;
ResultSet rs;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:sql server 2000";
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
sql="select * from info";
rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
编译运行如图:上面的结果是我info里面的字段。OK?成功了吧?

二,JDBC连接1,下载jdbc: [url]http://download.microsoft.com/download/4/1/d/41d3e9c0-64d1-451e-947b-7a4cba273b2d/setup.exe[/url]
下载:SQL Server 2000 SP3,同样到Microsoft的网站去下载升级包,
~~~~~~~~~~~~~~~~~~关键开始~~~~~~~~~~~~~~~~~~~~
[url]http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn[/url],下载其中的chs_sql2ksp3.exe,注意下载下来的是chs_sql2ksp3.exe文件,双击它选择安装到一个目录时是在解压,然后你还要到那个目录下双击setup.bat批处理文件才是开始安装(应该说是升级)!!!具体下载地址是: [url]http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2kasp3.exe[/url]
~~~~~~~~~~~~~~~~~~~~关键结束~~~~~~~~~~~~~~~~~~~~~~~~~
注:我一直是这个原因,装错补订了,我曾经装过SP3a,SP4,结果都不行!
2,安装JDBC,把其安装目录下的lib下的三个文件添加到classpath中,这个网上都有很多。
我的是:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
添加完成后,安装SP3补订,也就是刚才下的那个文件,可能需要重启,我给忘了。
这个是XPsp4补丁:[url]http://www.57vista.cn/pojie/UploadFile/2007-5/56/Microsoft%20SQL%20Server%202000.EXE[/url]
3,现在就是代码了,如下:
import java.sql.*;
public class L
{
public static void main(String[] args)
{
String sql;
Connection conn;
Statement stmt;
ResultSet rs;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
sql="select * from info";
rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

检查一下三个JAR包是不是放入你的WEB应用的WEB-INF/lib/下,如果这些都正确,可能是用户已经登陆上去,但是却不能访问里边的数据表,出现这个问题的原因在于sa用户为系统用户,它虽然能够登陆数据库,但是northwind数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户sa,建立过程如下:
在northwind数据库中选重用户 ---〉新建用户 -- 〉名称选择(这一步中有两个关键点:身份验证选sql身份验证,默认数据库选northwind)-〉建立新教色sa,此时更改程序,将用户登陆名和密码修改一下,
也可以在企业管理器里改,打开数据库后,有个安全性,点开加号,有个登陆,点登陆后,在右面的界面你会发现有个sa行,查看他的属性,将默认的登陆数据库改为northwind,密码自己设置,然后改程序里的用户和密码。
import java.sql.*;
public class DatabaseConn {
private Connection conn;
private Statement stmt;
private String url =
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind";
private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String uid = "sa";
private String pwd = " ";
public DatabaseConn(){}

public Connection getConnection()
{
try{
Class.forName(classforname);
if (conn == null || conn.isClosed())
conn = DriverManager.getConnection( url, uid, pwd);
}catch (ClassNotFoundException ex){
ex.printStackTrace();
}catch (SQLException ex){
ex.printStackTrace();
}
return conn;
}
}
1、首先检查你的sql server服务是否已经启动了,用 企业管理器 查看确认一下。
2、String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=northwind"; 把这个字符串中的 localhost 改成 你的机器的名字。试一下。
3、如果经过以上的两个步骤都不行,测试一下从别人的机器连接你的数据库;或者尝试一下,你用jdbc连接别人的数据库。
4、顺便说一句,我用的jdk是1.4,我同学用的jdk是1.5,都有连接成功的经历。
不知道是不是 jdk版本的问题?
步骤: 1,下载并安装Microsoft SQL Server 2000 Driver for JDBC; 2,将安装目录下面的三个文件msbase.jar,msutil.jar,msqlserver.jar拷贝到jdk1.5.0_06\jre\lib\ext下面。 3,成功。

转载于:https://blog.51cto.com/programmingart/88394

JDBC连接微软SQLSERVER2000数据库相关推荐

  1. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

  2. 使用JDBC连接SQL Server数据库

    1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http ...

  3. JDBC连接自定义sqlserver数据库实例名(多个实例)

    JDBC连接自定义sqlserver数据库实例名(多个实例) 2012年06月07日 12:14:48 阅读数:18097 java语言中,通过jdbc访问sqlserver2005(2008)数据库 ...

  4. JDBC连接SQL Server数据库[windows验证模式连接+SQL server验证]

    JDBC连接SQL Server数据库[windows验证模式连接+SQL server验证] 都说用JDBC连接数据库会出现很多问题,现总结.汇总一下. 前提是已经正确安装了SQL Server系列 ...

  5. Java通过JDBC连接SQL Server2017数据库

    一.需要明白的基础知识 数据库名 驱动jar(x表示版本号) 具体驱动类 连接字符串(ip地址,端口号,名字) Oracle ojdbc-x.jar oracle.jdbc.oracleDriver ...

  6. jdbc连接Oracle/MySQL数据库进行批量导入操作,如何提高效率???

    使用JDBC连接Oracle数据库进行批量数据导入的时候,特别是大批量数据连续插入(百万级或以上),如何提高效率呢? 在JDBC编程接口中有两个方法特别值得注意: (1)void addBatch() ...

  7. JDBC连接sql server数据库

    IDEA使用JDBC连接Sqlserver数据库 在IDEA的项目中添加对应数据库的jar包 在项目中创建util包和DBUtil类用来存放数据库连接的java代码. 完整代码 package com ...

  8. jdbc连接oracle查询数据库,JDBC连接Oracle数据库,并操作数据库,查询表

    JDBC连接Oracle数据库 protected void doPost(HttpServletRequest request, HttpServletResponse response) thro ...

  9. Linux下PHP使用 PHP_ODBC 连接微软SQLSERVER数据库

    写本文时的环境是 ubuntu 16.04 LTS php 7.0.27 unixODBC 2.3.5 FreeTDS 1.00.82 2018-03-02日 PHP使用sqlSrv连接微软的SQLS ...

最新文章

  1. SAP MM Reset预留单上的Deletion Flag?
  2. SSH服务审计工具ssh-audit
  3. dell服务器 稳定性,设计优秀管理方便 戴尔R710服务器评测
  4. python中换行的转义符_详解Python中的各种转义符\n\r\t
  5. java js 截取字符串,js截取字符串的三种方法
  6. win10 linux ssh自动启动,win10子系统 wsl开机启动ssh服务
  7. hdu 5101(二分)
  8. Android AIDL使用介绍(3) 浅说AIDL背后的Binder
  9. c语言宿舍管理查询软件,宿舍管理查询软件--数据结构,c语言
  10. 手机广告投放(phone advertising)唯一标识
  11. linux把svs文件分割,freeebsd,pkg_add,svsup,make改服务器的设定
  12. pow(x,n) leecode
  13. 超赞!arXiv论文如何一键链接解读视频,这个浏览器扩展帮你实现
  14. word中装订线位置_Word操作技巧:Word文档双面打印全攻略,解决打印难题
  15. mirth connect 3.4 添加java到js代码中
  16. memcached入门
  17. git pull更新不到最新代码
  18. 【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?
  19. 美光称对华为恢复部分芯片出货 股价一度上涨10%
  20. MPC5744P-UART(LIN)模块

热门文章

  1. 电脑弹窗广告多,怎么办?
  2. position的区别
  3. Mybatis-Plus多表联查
  4. 外贸营销:关于instagram平台营销方法速看
  5. 项目资金预算表编制说明
  6. 如何节省1TB图片带宽?解密极致图像压缩!
  7. R语言绘制 棒棒糖图
  8. C# 结构体与类区别
  9. 微信web开发者工具的常用快捷键
  10. Thinkpad 电池设置 (Ubuntu)