100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > JDBC连接微软SQLSERVER2000数据库

JDBC连接微软SQLSERVER2000数据库

时间:2022-03-11 11:28:36

相关推荐

JDBC连接微软SQLSERVER2000数据库

文章来源:[url]http://quezhuning./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]/download/4/1/d/41d3e9c0-64d1-451e-947b-7a4cba273b2d/setup.exe[/url]

下载:SQL Server 2000 SP3,同样到Microsoft的网站去下载升级包, ~~~~~~~~~~~~~~~~~~关键开始~~~~~~~~~~~~~~~~~~~~

[url]/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn[/url],下载其中的chs_sql2ksp3.exe,注意下载下来的是chs_sql2ksp3.exe文件,双击它选择安装到一个目录时是在解压,然后你还要到那个目录下双击setup.bat批处理文件才是开始安装(应该说是升级)!!!具体下载地址是: [url]/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]/pojie/UploadFile/-5/56/Microsoft%20SQL%20Server%00.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,成功。

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