MyEclipse(Java)连接SQLServer 2008 R2 失败n次的经验

   历时不下于十二个小时的探索检查,终于连接成功了,又想哭,又想笑。没办法,老师让自己搞;师兄又不给力;网上百度知道N万条,好多朋友的答案都没有营养,纯粹为了积分。呜呼哀哉!鄙人特将经验分享于此处,望后来之人少走弯路。

1.先登录SQL 2008,选择Windows身份验证,点击连接。

连接成功就会在对象资源管理器出现如下画面。

2.打开安全性——登录名。右击登录名,选择新建登录名。会出现登录名——新建对话框。

3.在选择页一栏,常规一项,填写登录名、选择SQL Serve身份验证、填写密码、去除强制密码过期。

4.权限设置:在服务器角色一项,默认的是选择public,相当于游客,只有登录数据库权限。选择sysadmin,给角色管理员权限。点击确定。

5.试连接:在菜单栏里选择文件——连接对象资源管理器,然后在身份验证一栏选择身份验证方式。填写登录名、密码,点击连接。

在对象资源管理器一栏又多出一堆东西,表示连接成功。

 

 

一 eclipse要 引入的包

大家要注意了,不同的数据库要引不同的包,而且sqlserver2000和sqlserver2008要引的包是不一样的,这点要特别注意啊!!

一开始我只引了jdbc的包,这是2000版本的,2008版本要引的是sqljdbc2.0驱动——Microsoft SQL Server JDBC Driver 2.0.exe,大家去网上搜就会有的,解压后运行里面的程序就可以得到sqljdbc4.jar和sqljdbc.jar,64位只要导入sqljdbc4.,否则报错。

二 eclipse引包方法

找到要引的包了,要怎么把它引进去呢?

右击你创建的工程,找到Build path ,选择 AddExternal Archives,找到你要导入的包,点击打开就可以引入了,引入后在工程下面的ReferencedeLibraries下便能显示这2个包了

三 创建数据库

既然是要用java连接数据库,当然你自己就要在sqlServer2008下创建一个你自己的数据库啦,现在我假设创建的数据库名为pro

四 创建数据源

在网上搜的很多java连接数据库的资料中都没用这一步,其实这一步是很重要的,也是你在编写程序时要用上的

在控制面板---管理工具中选择数据源,选择系统DNS选项卡,点击添加,选择SQLServer,点击完成,填入你自己取的数据源的名称,描述可以不用写,在服务器的选择中大家要注意了,一定要是你的sqlserver服务器的名称,并不一定就是下拉框中有选择的名称,我就是在这里纠结了好久久%>_<%,出现了如下图看上去不知道怎么解决的问题

找名称的方法是在你开启sqlserver2008时在连接的界面上会有服务器的名称,把它填入服务器名称框就可以了

点击下一步,选择你自己的数据库,一直下一步,到最后的时候可以测试哦~~~一般都会成功的

五 端口设置

这是一个很重要的问题,sqlserver2008的端口是动态的,会比较麻烦,在windows---所有程序----microsoft sqlserver的程序文件夹下会有个配置管理器,打开它,设为如下状态

点击TCP/IP打开,选择IP地址,因为我在后面的程序中用的IP地址是127.0.0.1,所以我设置了IP6和IPALL,IPALL TCP动态端口号一般为1433,这在程序里 是要用到的,所以要记着哦

设置完后,需要重启服务器,打开控制面板----管理工具-----服务,选择SQL Server(SQL....),右击,选择停止,停止后再点击启动,便是重启了

六 java代码

把上面的这些都做好了,接下来就是写代码咯~~以下是我的代码

package com.sql;
import java.sql.*;
 public class Test2
 {
 public static void main(String[] args) 
 {
 String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎
 StringconnectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=pro";//数据源注意IP地址和端口号,数据库名字!!!
 try
 {
 Class.forName(JDriver);//加载数据库引擎,返回给定字符串名的类
 }catch(ClassNotFoundException e)
 {
 //e.printStackTrace();
 System.out.println("加载数据库引擎失败");
 System.exit(0);
 } 
 System.out.println("数据库驱动成功");
 try
 {
 String user="abc";//你自己创建的用户名字和密码!!!!!!!!!!!!
 String password="000000";
 Connection con=DriverManager.getConnection(connectDB,user,password);//连接数据库对象
 System.out.println("连接数据库成功");
 Statement stmt=con.createStatement();//创建SQL命令对象
 //创建表
 System.out.println("查询");
 System.out.println("开始读取数据");
 ResultSet rs=stmt.executeQuery("SELECT * FROM 学生信息where age=19");//返回SQL语句查询结果集(集合)
 //循环输出每一条记录
 while(rs.next())
 {
 //输出每个字段
 System.out.println(rs.getString("stuId")+"\t"+rs.getString("NAME"));
 }
 System.out.println("读取完毕");
 //关闭连接
 stmt.close();//关闭命令对象连接
 con.close();//关闭数据库连接
 }
 catch(SQLException e)
 {
 e.printStackTrace();
 //System.out.println("数据库连接错误");
 System.exit(0);
 }
 }
 }


运行结果:

数据库驱动成功
连接数据库成功
查询
开始读取数据
200901 王军
读取完毕