(超详细) eclispe如何连接SQL Server2019(通过JDBC驱动包连接)

(超详细) eclispe如何连接SQL Server2019(通过JDBC驱动包连接),第1张

因为课程设计需要使用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时的路径下查看自己的jre版本,或者用cmd命令查看,也可以直接在eclispe的窗口-首选项-JAVA-编译器中查看。
例如我的是jre 1.8(大多数教学过程中用的都是jre1.8),因此我对应的就下载JRE8版本。
-通过cmd命令查看jre版本和路径方法-
windows窗口键+R 输入cmd打开后,键入以下命令符
查看版本:java -version
查看路径:java -verbose
如图


找到自己jre的版本后在下载对应的jre,一定要下载对应的版本,要不然会失败,如果知道自己jre的版本还是不知道下载那个,可以到官网去查看。
选择好后将对应的jre复制下来,粘贴到之前下载jdk时的文件夹下的lib包里。(如果太久了不记得jre的路径了,就用我上面说的方法在cmd里查找)
例如我的jre1.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";  // school为数据库名,此处填写你的数据库名

  String userName="sa";   // 填写你的登录账户名名,我的是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();// 创建SQL命令对象
			ResultSet rs = stmt.executeQuery("SELECT * FROM student");// 返回SQL语句查询结果集(集合)   表名
			// 循环输出每一条记录
			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();
		}
	}
}

到这里就全部结束啦,祝大家学习越来越进步哦,有不懂的问题可以私信或者评论区找我,我会尽自己所能帮助大家的。笔芯~

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/991704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存