Eclipse(myeclipse)连接SQL Server 2008数据库

java 专栏收录该内容
3 篇文章 0 订阅

http://blog.163.com/jackie_howe/blog/static/19949134720125173539380/

 

 

 

Jackie
新浪微博:http://weibo.com/sincerecorner
加博友 关注他
 

 



 

Eclipse连接SQL Server 2008数据库 

2012-06-17 15:05:39|  分类:Java |  标签:|字号订阅

在连接数据库之前必须保证SQL Server 2008是采用SQL Server身份验证方式而不是windows身份验证方式。如果在安装时选用了后者,则重新设置如下:

http://blog.163.com/jackie_howe/blog/static/19949134720122261121214/

SQL Server 2008装好后,默认协议是没有开启的,可打开配置工具下的 SQL Server配置管理器中开启,如下2图:

保证SQL Server 2008是采用SQL Server身份验证方式下开始配置:

一、SQL Server 2008的配置:

1、安装好SQL Server 2008后,运行 开始 → 所有程序 → Microsoft SQL Server 2008 → 配置工具 → SQL Server配置管理器,在打开的窗口的左边找到 MSSQLSERVER的协议,在右边右单击 TCP/IP,选择 已启用。如果Named Pipes 未启用也设为启用。如图5所示:

Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

图5

2、双击图5右边的 TCP/IP,在弹出的窗口中选择 IP地址 标签,把 IPAll 中的 TCP端口 设成 1433,并将上方所有的 已启用 选项设置成 是。如图6所示:

Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

图6

4、然后重启数据库,重启完毕后,接下来使用命令测试1433端口是否打开。

5、开始菜单 → 运行cmd → 在命令提示符下输入:telnet 127.0.0.1 1433,(注意telnet与127之间有空格,1与1433之间有空格)若提示“不能打开到主机的连接,在端口 1433: 连接失败”,则说明1433端口没有打开,需要重新进行以上配置。若连接成功,显示如图8所示:

Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

图8

注:Windows7如何开启telnet服务http://blog.163.com/jackie_howe/blog/static/199491347201251723939691/

二、环境变量CLASSPATH配置:

1、下载Microsoft JDBC Driver for SQL Server

http://www.microsoft.com/zh-cn/download/details.aspx?id=11774 (最新版4.0)

http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 (3.0版)

http://www.microsoft.com/zh-cn/download/details.aspx?id=2505 (2.0版)

下载JDBC的驱动文件,例如下载得到的文件是sqljdbc_4.0.2206.100_chs.exe,解压文件。设将其解压到C:\Microsoft JDBC Driver 4.0 for SQL Server目录下。Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

2、在桌面上右击 我的电脑,依次选择 属性 → 高级 → 环境变量,在 系统变量中双击 CLASSPATH变量,追加“;C:\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\sqljdbc4.jar”若不存在应当新建CLASSPATH变量,并且将其值设为“C:\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\sqljdbc4.jar”。如图9示:

Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

图9

3、连续点击 确定 以退出环境变量配置。

三、使用Eclipse测试连接SQL Server2008数据库:

1、打开SQL Server 2008,在其中新建数据库 Test,然后退出SQL Server 2008。

2、运行Eclipse,新建一个Java Project 名为 Test。

3、右单击工程名,依次选择 Build Path → Configure Build Path,在打开的窗口的右边选择 Libraries标签,然后单击 Add External JARs,找到 sqljdbc4jar 文件并打开,然后单击 OK 完成构建路径的配置。如图10

Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

图10

提示:也可以把sqljdbc4jar类  放到jre/lib/ext下,并放到tomcat/lib下

这样就可以应用到所有jsp文件,减少对每个项目进行sqljdbc4jar的加载;

4、在Test中新建包pkg,在pkg中新建一个类Main,在其中输入代码如下:

package pkg; import java.sql.*; public class Main { public static void main(String [] args) { String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=填写你的数据库名"; String userName="填写你的用户名,我的是sa"; String userPwd="填写你的密码"; try { Class.forName(driverName); System.out.println("加载驱动成功!"); }catch(Exception e){ e.printStackTrace(); System.out.println("加载驱动失败!"); } try{ Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd); System.out.println("连接数据库成功!"); }catch(Exception e) { e.printStackTrace(); System.out.print("SQL Server连接失败!"); } }

}

5、点击右键,选择run as——>Java Application,出现下图11则连接成功!

Eclipse连接SQL Server 2008数据库 - Jackie - Jackie的博客

11
 
 
 
 
 
 
 
 
6 分享到:
阅读(16019) | 评论(72) | 转载 (4) | 举报
 
 
 
 
 
 

历史上的今天

最近读者

登录后,您可以在此留下足迹。

评论

点击登录 | 昵称:
取消
换一张
11-18 17:37
Dragon

运行结果如下,该怎么改:

加载驱动成功!
SQL Server连接失败!com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

回复
11-18 17:38
Dragon 回复 Dragon
在线等,谢谢
回复
05-28 21:25
uloveit
为什么我安装的数据库的配置工具里没有配置管理器啊?求解释
回复
05-30 11:44
Jackie 回复 uloveit
从官网下载sql Server应该是没问题的吧,我下的是3.27g的sqlserver2008

回复
06-11 11:16
uloveit 回复 Jackie
安装过程会不会出现这样的问题?
回复
11-18 17:36
Dragon 回复 Jackie

该改的我都改了,但是出现这样的错误

加载驱动成功!
SQL Server连接失败!com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。

回复
09-12 15:23
测试成功了。只要耐心点做,再结合百度搜索问题,肯定能解决问题的,哈哈
回复
09-09 15:59
燕燕
加载驱动成功!
java.sql.SQLException: No suitable driver found for jdbc:sqlserver:Test//localhost:1433;DatabaseName=填写你的数据库名
SQL Server连接失败! at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at pkg.Main.main(Main.java:20)
回复
09-09 15:59
燕燕 回复 燕燕
请问这是怎么回事呢

回复
06-11 13:42
加载驱动成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 无法打开登录所请求的数据库 "2012-20130110GW"。登录失败。 ClientConnectionId:fce83890-c29e-45cd-9361-c5a03905009e
SQL Server连接失败! at
回复
06-11 13:42
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
回复
06-11 13:43
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
回复
06-18 23:50
登陆失败,是不是数据库名字,或者数据库用户名密码什么的写错了。
回复
05-27 10:42
特为提问注册此号。在第五步执行RUN AS后,出现了

加载驱动成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 用户 '填写你的用户名,我的是sa' 登录失败。 ClientConnectionId:f9fe365a-2f17-452d-9734-9799a1f2010c
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908)

求解答

回复
05-28 00:32
你要填自己的用户名和密码啊
回复
05-26 00:37
xiaomo
可以叫一个朋友么?我需要你的帮助,QQ:1940705989

回复
05-25 02:53
回复
04-22 10:07
xuxu
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
回复
04-24 13:36
Jackie 回复 xuxu
缺少驱动,文章中“ 二、环境变量CLASSPATH配置”部分是不是哪里没做好。

回复
04-18 22:40
kou
加载驱动成功!
用户 'kou998' 登录失败。 ClientConnectionId:db93b534-4110-40d7-b176-f05a6c059adf
这什么情况
回复
04-07 17:18
非常感谢~~!特意注册了个号 来顶一下~~哈哈
回复
04-09 15:08
Jackie 回复 kina0104
谢谢
回复
04-04 18:18
你的程序是不是不对 我粘贴到myEclipse里之后显示有错误 少了一个“}”

回复
04-09 15:08
嗯,谢谢,已修改。
回复
04-04 20:22
谢谢 一下午 终于成功了

回复
04-04 16:54
求解 我没有打开数据库 就开始配置了 后来打不开服务器 服务器连接不上怎么办
回复
04-04 18:17
已经解决了

回复
03-07 14:41
韩梅
你好,我按照你交的把一切都配置好了,可还是出现了无法连接的问题
回复
03-08 18:55
Jackie 回复 韩梅
你好,对测试程序我新加了一些驱动是否装载正确的验证,你再试试,看报的错误是什么。
回复
2012-11-30 10:37
洋洋
你好!我的网络配置里找不到mssqlserver协议,请问这是怎么回事?
回复
2012-12-03 16:54
Jackie 回复 洋洋
额,我也不清楚,是sql Server 2008吗?
回复
01-12 16:47
我和她是一样的问题,是sql server 2008,但是也没有那个协议~
回复
01-31 17:17
不清楚了,是官网下载的Sql Server吗?
回复
01-17 18:20
java新手
为什么要配置CLASSPATH变量,我不配置为什么也可以?
回复
01-31 17:16
Jackie 回复 java新手
那你看下现在CLASSPATH里有上面的那个路径吗?
回复
2012-12-26 11:50
非常感谢
回复
2012-11-24 17:06
为什么我照你说的配置完之后,在运行你以上写的这个代码时,没有显示连接数据库成功呢??也没有报错,这到底是什么回事呢????
回复
2012-11-24 20:03
Jackie 回复 646467988
你看一下控制台,什么都没有输出吗?

回复
2012-12-03 17:17
646467988 回复 Jackie
后来我就一直运行,刷新,他就自己运行成功了。我也不知道是为什么。
回复
2012-11-30 18:48
洋洋
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at pkg.Main.m
回复
2012-12-03 16:57
Jackie 回复 洋洋
“ UnsupportedClassVersionError: Bad version number in .class file”不支持的类版本:错误的.class文件版本。看是jre的版本问题吧。
回复
2012-12-01 14:33
居然我们的名字一样,呵呵 谢谢大哥 ,这段时间被导师逼得 哎
回复
2012-11-30 18:49
洋洋

所有上面的东西都好了,但是运行程序的时候出现了下面的异常,求解

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)

回复
2012-11-21 14:32

你就是我的再生父母啊,纠结了3天的问题,今天看了你的博客,终于解决了,不易啊……………… 

回复
2012-10-31 21:01
hime

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF

at com.microsoft.sqlserver.jdbc.TDSParser.parse
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon

at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand

at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper

at com.microsoft.sqlserver.jdbc.SQLServerConnection.login
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect

at java.sql.DriverManager.getConnection(Unknown Source)

回复
2012-10-31 21:15
hime 回复 hime
不好意思,搞定了,谢谢~~
回复
2012-11-13 13:54
279299751 回复 hime
请问应该怎么解决??
回复
2012-11-13 17:53
没事了 解决掉了
回复
2012-11-11 18:47

at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at pkg.Main.main(Main.java:13)

这几个错误怎么解决哦,朋友~谢谢了哈,感谢,研究好几天连接数据库了,网上各种版本我都用不了~楼下说的"DatabaseName=Test",这个问题我也想清楚,感觉应该是Test,但改了之后错误还是显示以上~望能解决,感谢

回复
2012-11-11 17:45
com.microsoft.sqlserver.jdbc.SQLServerException: 无法打开登录所请求的数据库 "教务管理系统"。

前面建了数据库是Test   这里 DatabaseName应该是Test吧
回复
2012-11-11 17:51
lelesuo 回复 lelesuo
没有追加环境变量,仍然连接成功, sqljdbc 4 jar 类 没有放在 放到jre/lib/ext和tomcat/lib下

请教
是不是可以不用追加?
回复
2012-10-31 23:18

提示:也可以把sqljdbc4jar类 放到jre/lib/ext下,并放到tomcat/lib下这样就可以应用到所有jsp文件,减少对每个项目进行sqljdbc4jar的加载;

是再次考到这两个目录下吗?之前的配置有影响吗??

回复
2012-11-01 08:15
Jackie 回复 子谦
这两个选一个就行

回复
2012-10-29 15:29
poisson0106
我想问问,我sa和之前TCP/IP的设置都可以通过,为什么最后就只是显示连接失败??
回复
2012-10-29 16:34
Jackie 回复 poisson0106
我把测试程序稍微改了下加了句 e . printStackTrace ();你试试看看输出的错误是什么?
回复
2012-10-28 11:54
谢谢,成功连接
回复
2012-10-10 13:02
tanliyuan

我配置的时候前面全部通过了,但是就是把代码弄上去之后出现很多问题,不知道问题出在哪里

回复
2012-10-12 17:06
Jackie 回复 tanliyuan
可以把报的错误贴出来吗?

回复
2012-10-16 18:48

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at test1.main(test1.java:9)

回复
2012-10-16 18:54

上面的(Native Method)是可以点击的链接。点击第一个“Native Method”时,出现“找不到源,源代码连接不包含文件ClassLoader.class的源代码。可以通过单击下面的“更改连接的源代码”来更改源代码连接”;其他几个“Native Method”点击后也是类似。at test1.main(test1.java:9这句指向  Class.forName(driverName); 代码如下:

import java.sql.*;
     public class test1{
       public static void main(String[] args) {
         String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
         String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=学生管理系统";
           String userName="tanliyuan";    //默认用户名
           String userPwd="123456";     //密码
           try{
              Class.forName(driverName);

回复
2012-10-16 21:03
"UnsupportedClassVersionError: Bad version"意思是“不支持的驱动器版本”,就是驱动器版本的问题,是不是太高了或是太低了?换一个试试,也可能跟eclipse版本有关。我用的都是比较新的版本。
回复
2012-10-18 19:45
tanliyuan516867305 回复 Jackie
我的sql server 是2012,eclipse是4.2.2,sqljdbc是4.0,我换了sqljdbc3.0试了一下还是没有用,我估计是sql server版本太高,没有合适的sqljdbc
回复
2012-10-22 23:51
Jackie 回复 tanliyuan516867305
嗯,应该是的,我用的是sql Server 2008,2012版本的太新了。
回复
2012-09-23 19:39
Connection dbConn = DriverManager . getConnection ( dbURL , userName , userPwd );我弄的时候这里是有警告的,就是dbconn这里

回复
2012-09-24 19:14
Jackie 回复 幽游
警告的意思是你的变量在后面并没有使用,这个只是警告,并不影响程序的运行的。
回复
2012-10-08 00:23
米丝羽 回复 Jackie
运行结果是连接失败,怎么解释啊?

回复
2012-10-08 18:33
Jackie 回复 米丝羽
要检查一些东西:比如是否开启sql Server的服务,帐号、密码是否正确,是否添加了驱动包(响应的jar文件)。在catch里输出一下异常是什么(e.printStackTrace())。

回复
2012-10-07 23:23
abwbw

连接失败

回复
2012-09-19 23:08

回复
2012-09-24 19:15
多谢
回复
2012-09-23 19:40
帮忙解决下吧,谢谢了。
回复
2012-09-23 19:39
描述 资源 路径 位置 类型
The value of the local variable dbConn is not used Main.java /Test/src/pkg 第 15 行 Java 问题

回复
上一页 1... -1-1-1-1-1-1-1 ... -1 下一页

 

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 扫一扫,分享海报

评论 1 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值