在连接数据库之前必须保证SQL Server 2008 R2的验证方式是SQL Server身份验证,如是,则略过这段直接看Eclipse连接数据库的具体步骤。
1、打开Microsoft SQL Server Management Studio连接到服务器,设置SQL Server 2008 R2的身份验证方式为混合安全验证。
2、设置sa的密码并启用sa登录名
设置好后点击确定并重启服务器
3、验证sa登陆
新建一个文本文件,命名为"LoginSQL.UDL",双击打开,点击"提供程序"选项卡,选择SQL Server Native Client 10.0
点击"下一步"按钮进入"连接"选项卡
Ecplise连接数据库具体步骤如下:
一、SQL Server 2008 R2的配置
运行SQL Server Configuration Manager
右击上图的TCP/IP选择"属性"弹出TCP/IP属性对话框,选择"IP地址"选项卡,找到其中IP地址为"127.0.0.1"的一栏,设置其TCP端口为"1433",活动为"是",已启用为"是"。并确认最下面的"IPAll"里的TCP端口是"1433",完成后点击确定
完成后重启数据库,重启完毕后测试1433端口是否打开,快捷键Win+R弹出"运行"窗口,输入"cmd"运行命令提示符。
输入telnet 127.0.0.1 1433(注意空格)。若提示连接失败,则说明1433端口没有打开,重新进行上面的配置。若连接成功,则显示如下图
若提示'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件。则未开启telnet服务,以下步骤将开启telnet服务
打开控制面板,选择程序--启动或关闭Windows功能,勾选上telnet服务器和telnet客户端,点击确定等待Windows完成安装即可使用telnet服务
二、Microsoft JDBC Driver for SQL Server(JDBC驱动包)的下载与导入
下载Microsoft JDBC Driver for SQL Server
https://www.microsoft.com/en-us/download/details.aspx?id=55539
解压所下载的文件,将其放到java安装目录的.../Java\jre1.8.0_101\lib\ext文件夹下
新建Java Project "Test",右击项目,选择Build Path--Add External Archives...添加sqljdbc_6.2里的Jar包
三、在Eclipse中写代码测试是否连接成功
先在Microsoft SQL Server Management Studio里新建数据库"Test"
然后在Eclipse里上面新建的Test项目中新建类ConnectToSQL,代码如下:
import java.sql.*;
public class ConnectToSQL {
public static void main(String[] args) {
// TODO Auto-generated method stub
String jdbcDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Test";//声明数据库Test的URL
try
{
Class.forName(jdbcDriver);//加载数据库驱动
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("加载数据库引擎失败");
System.exit(0);
}
System.out.println("数据库驱动成功");
try
{
String user="sa";//数据库用户名
String password="输入之前配置sa时所设置的密码";//数据库密码
Connection connection=DriverManager.getConnection(connectDB,user,password);//建立数据库连接,获得连接对象
System.out.println("连接数据库成功");
Statement statement=connection.createStatement();//创建一个Statement对象
System.out.println("开始创建表");
String query="CREATE TABLE Person(NAME CHAR(10),SEX NCHAR(2),AGE INT)";//生成一条SQL建表语句
statement.executeUpdate(query);//执行SQL建表语句
System.out.println("开始插入数据");
String a1="INSERT INTO Person VALUES('张三','男',18)";//生成一条SQL插入数据语句
String a2="INSERT INTO Person VALUES('李四','男',19)";//生成一条SQL插入数据语句
String a3="INSERT INTO Person VALUES('王五','男',20)";//生成一条SQL插入数据语句
statement.executeUpdate(a1);//执行SQL插入语句
statement.executeUpdate(a2);//执行SQL插入语句
statement.executeUpdate(a3);//执行SQL插入语句
System.out.println("插入数据成功");
System.out.println("开始读取数据");
ResultSet resultset=statement.executeQuery("SELECT *FROM Person");
System.out.println("姓名\t性别\t年龄");
while(resultset.next())//遍历结果集,输出每一条记录
{
System.out.println(resultset.getString("NAME")+"\t"+resultset.getString("SEX")+"\t"+resultset.getInt("AGE"));
}
System.out.println("读取完毕");
statement.close();//关闭命令对象连接
connection.close();//关闭数据库连接
}
catch(SQLException e)
{
e.printStackTrace();
System.out.println("数据库连接错误");
System.exit(0);
}
}
}
代码运行结果如下
返回Microsoft SQL Server Management Studio新建查询即可看到插入的数据,如下
此时已经完成Eclipse与SQL Server 2008 R2的连接