因为课程设计需要使用Java连接SQL Server2019,Java我最常用的开发工具是eclispe,因此本帖以eclispe连接数据库为例 本帖是分享在已经安装并配置好eclispe和SQL Server2019的情况下连接eclispe和SQL Server2019,因此我就直接跳过教大家如何安装eclispe和SQL Server2019的步骤哦 第一步:设置SQL Server的状态(有些人默认就是开启的有些不是,如是开启的可跳过这一步) 点开SSMS,并且确保是用SQL Server身份验证登录的 
在安全名-登录名下找到sa
之后选中sa,右键选择属性 在状态里查看: 是否允许连接到数据库引擎-授予 登录名-启用  然后返回最开始的页面新建数据库-建表(假设我在此处建了一个名叫school的数据库并建了一个叫student的表,该表有sno,sname,sex这三个属性,并且我们在该表上再随便添加几个对象) 然后就可以关闭SSMS了,本次连接将不会再用到SSMS了。 第二步:端口配置 在开始菜单中找到SQL Server 2019 点开下面有一个SQL Server2019配置管理器(有的在下面的配置工具文件夹里) 如图  点开SQL Server2019配置管理器 SQL Server网络配置-MSSQLSERVER的协议-把所有协议的状态都设置成已启用(有几个设置几个)  之后选中TCP/IP,右键属性 点进去后,点IP地址,把IP1和IP10的【IP地址】设为127.0.0.1,【TCP端口】设为1433,并将所有IP地址的【活动】和【已启用】设置为【是】,接着拉到最下面将【IPALL】的【TCP端口】设为1433,其余不变,之后确定  做到这里就可以关闭SQL Server2019配置管理器了。 回到桌面 打开控制面板 -> 程序和功能 -> 启用或关闭Windows功能 ->勾选Telnet客户端 (也可以直接在开始那里搜索启用或关闭Windows功能)
 之后确定 然后返回桌面,打开cmd(Windows窗口键+R) ,打开后输入telnet 127.0.0.1 1433回车,如果出现以下页面表示1433端口打开成功  关闭再次回到桌面 第三步:下载JDBC驱动包并配置环境
首先,先下载JDBC驱动包 点此处转到官网下载  选择第二个下载 下载好了之后打开  是一个叫sqljdbc_9.4的文件夹,点开  这里有三个不同版本的mssql-jdbc-x.x.x.jrex 然后,重点来了,非常重要的一点: 在当初下载jdk时的路径下查看自己的jdk版本,或者用cmd命令查看,也可以直接在eclispe的窗口-首选项-JAVA-编译器中查看。 例如我的是jdk 1.8(大多数教学过程中用的都是jdk1.8),因此我对应的jre版本就是JRE8版本。 -通过cmd命令查看jdk版本和路径方法- windows窗口键+R 输入cmd打开后,键入以下命令符 查看版本:java -version 查看路径:java -verbose 如图   找到自己jdk的版本后在下载对应的jre,一定要下载对应的版本,要不然会失败,如果知道自己jdk的版本还是不知道下载那个jre,可以到官网去查看。 选择好后将对应的jre复制下来,粘贴到之前下载jdk时的文件夹下的lib包里。(如果太久了不记得jdk的路径了,就用我上面说的方法在cmd里查找) 例如我的jdk1.8对应jre8,然后我粘贴mssql-jdbc-9.4.1.jre8到之前下载jdk时的文件夹下的lib包里。如图  然后就可以关掉资源管理器了,这一步也完成啦,哈哈哈。 之后打开eclispe,随便建一个java项目,然后建一个包,再建一个类(这里我就不详细说了,相信大家都会) 在新建的Java项目里选中src,右键,选择构建路径,在选择配置构建路径  之后点击库,点击添加外部jar,然后找到安装jdk的文件夹,找到我们刚刚粘贴进去的mssql-jdbc-x.x.x.jrex(例如我的mssql-jdbc-9.4.1.jre8),添加进去之后如图所示
 之后点确定,然后我们配置环境的工作就完成啦 第四步:使用代码测试 最后我们通过代码来看看我们有没有连接成功
package url;
import java.sql.*;
public class test {
public static void main(String [] args)
{
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=school";
String userName="sa";
String userPwd="666666";
try
{
Class.forName(driverName);
Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("连接数据库成功");
}
catch(Exception e)
{
e.printStackTrace();
System.out.print("连接失败");
}
}
}
大家可以直接复制我上面的代码然后修改数据库名,登录账户名,密码,包名和类名进行测试 运行之后 如果出现  即为连接成功了 也可以使用下面的代码,测试是否连接成功同时访问数据库里表中的数据 比如访问我刚刚建的student表中的数据
package url;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class test {
public static void main(String[] args) {
try {
Class.forName ("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=school","sa","666666");
System.out.println("连接成功");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM student");
while (rs.next()) {
System.out.println(rs.getString("sno") + "\t" + rs.getString("sname")+rs.getString("sex"));
}
System.out.println("读取完毕");
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("驱动找不到");
e.printStackTrace();
}catch (SQLException e) {
System.out.println("数据库连接不成功");
e.printStackTrace();
}
}
}
到这里就全部结束啦,祝大家学习越来越进步哦,有不懂的问题可以私信或者评论区找我,我会尽自己所能帮助大家的。笔芯~
|