您的位置:首页 > 编程语言 > Java开发

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

2013-11-20 12:38 806 查看
http://blog.163.com/jackie_howe/blog/static/19949134720125173539380/

 

 

 



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

 


 

 

Windows7如何开启telnet服务
 

html文件中怎样正确引入JavaScript文件
 

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所示:





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



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



图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目录下。


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示:



图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



图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则连接成功!



图11

 
 
 
 
 
 
 
 


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

Windows7如何开启telnet服务

html文件中怎样正确引入JavaScript文件

历史上的今天

最近读者



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




stick_31




h2727119




lijiao18




chenqion




孤星守残




海大11级




甘超浩




wuhaojij

评论

点击登录|昵称:

取消
验证码:

换一张



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
1134575480

加载驱动成功!
com.microsoft.sqlserver.jdbc.SQLServerException: 无法打开登录所请求的数据库 "2012-20130110GW"。登录失败。 ClientConnectionId:fce83890-c29e-45cd-9361-c5a03905009e
SQL Server连接失败! at

回复





06-11 13:42
1134575480 回复1134575480

com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)

回复





06-11 13:43
1134575480 回复1134575480

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
Jackie 回复1134575480

登陆失败,是不是数据库名字,或者数据库用户名密码什么的写错了。
回复





05-27 10:42
buqiushejie

特为提问注册此号。在第五步执行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
Jackie 回复buqiushejie

你要填自己的用户名和密码啊
回复



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
kina0104

非常感谢~~!特意注册了个号 来顶一下~~哈哈
回复





04-09 15:08
Jackie 回复kina0104

谢谢
回复





04-04 18:18
qian_zhiwang

你的程序是不是不对 我粘贴到myEclipse里之后显示有错误 少了一个“}”

回复





04-09 15:08
Jackie 回复qian_zhiwang

嗯,谢谢,已修改。
回复





04-04 20:22
qian_zhiwang

谢谢 一下午 终于成功了

回复





04-04 16:54
qian_zhiwang

求解 我没有打开数据库 就开始配置了 后来打不开服务器 服务器连接不上怎么办
回复





04-04 18:17
qian_zhiwang 回复qian_zhiwang

已经解决了

回复



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
liry2010de 回复Jackie

我和她是一样的问题,是sql server 2008,但是也没有那个协议~
回复





01-31 17:17
Jackie 回复liry2010de

不清楚了,是官网下载的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
646467988

为什么我照你说的配置完之后,在运行你以上写的这个代码时,没有显示连接数据库成功呢??也没有报错,这到底是什么回事呢????
回复





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
Jackie.Lei

居然我们的名字一样,呵呵 谢谢大哥 ,这段时间被导师逼得 哎
回复



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
CrystalSpace3d

你就是我的再生父母啊,纠结了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
279299751 回复279299751

没事了 解决掉了
回复





2012-11-11 18:47
gongxing1219

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
lelesuo

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

前面建了数据库是Test   这里DatabaseName应该是Test吧
回复





2012-11-11 17:51
lelesuo 回复lelesuo

没有追加环境变量,仍然连接成功,sqljdbc4jar类 没有放在放到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
lywhen520

谢谢,成功连接
回复



2012-10-10 13:02
tanliyuan

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

回复





2012-10-12 17:06
Jackie 回复tanliyuan

可以把报的错误贴出来吗?

回复





2012-10-16 18:48
tanliyuan516867305 回复Jackie

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
tanliyuan516867305 回复tanliyuan516867305

上面的(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
Jackie 回复tanliyuan516867305

"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
c1205206125



回复





2012-09-24 19:15
Jackie 回复c1205206125

多谢
回复





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下一页

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: