关于JAVA连接到SQLserver的步骤方法,以及遇到的问题

这是一个java类文件

在这里插入图片描述

要实现将此类连接到数据库一定要执行以下步骤:

1.装载驱动程序

2.加载驱动程序

3.连接到指定数据库

4.测试

第一步:从SQLserver官网上下载jdbc驱动程序,下载时请注意jdbc的版本与javaJDK的版本是否对应。
在这里插入图片描述

图中我们可以看到9.4版本的jdbc是可以同时兼容16.0、11.0 和 1.8的,此时我们就要确定我们的jdk版本号方法为:按win+R,输入cmd,在弹出的命令窗口中输入 java -version
在这里插入图片描述

图中我们可以看到我们jdk版本为1.8,那么我们就应该在刚刚下载的压缩包中选择1.8版本的jar复制,并在java工程上点击右键新建一个文件夹,命名为lib
在这里插入图片描述

在lib文件夹上把刚刚我们复制的jar文件粘贴上
在这里插入图片描述

然后在java工程上右击按图中所示进入到创建path的窗口
在这里插入图片描述

按图中所示的顺序依次点击
在这里插入图片描述

第三步为选择你的java工程的lib文件中的jar包,然后点击OK,出现Referenced Libraries就算创建成功啦!
在这里插入图片描述

这个时候我们的jdbc驱动就算装载成功了,既然有了装载那必然会有加载,而加载的方法则由命令实现,命令如下:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

这个命令就是把驱动程序加载到java类文件中

接下来我们要通过驱动程序将java与数据库连接,命令如下:

String dburl="jdbc:sqlserver://localhost:端口号;DatabaseName=数据库名";
Connection con = DriverManager.getConnection(dburl,"sa","sql2008");//连接到目标数据库
System.out.println("连接成功");

其中sa为用户名,sql2008为密码,端口号里写什么下面会详细讲解
到这里我们就已经成功了一半,此时运行会出错,那是因为SQLserver中的一些东西我们没有设置,下面是设置的步骤。

首先,我们打开ssms点击连接:注意(连接数据库服务器的名字!!!)
在这里插入图片描述

我们在服务器上右击选择属性—安全性—设置验证方式为SQLserver-----确定
在这里插入图片描述

在安全性----登录名----选择sa
在这里插入图片描述

右击属性-----常规------更改密码(注意密码一定要与java命令的密码一致)
在这里插入图片描述

选择状态设置登录-----启用
在这里插入图片描述

接下来我们打开SQL配置管理器,找不到配置管理器的小伙伴可以在搜索框里输入“配置管理器”即可打开
在这里插入图片描述

选择SQLserver网络配置----(你的数据库服务器的名字)的协议-----tcp/ip双击打开
在这里插入图片描述

将启用改为“是”
在这里插入图片描述

将IP地址中所有启用改为“是”
在这里插入图片描述

注:如果你的数据库服务器不是默认的MSSQLSEVERVER那么你就得手动指定端口号,一般情况下默认的服务器端口号都是1433,这个不需要你手动设置,但是如果你的服务器名称不是MSSQLSEVERVER那就证明你在安装数据库的实例配置选择的不是”默认实例”,而是“命名实例”通过你自己给数据库命名得到的实例,而命名实例与默认实例的不同处在于默认实例的数据库会自动给tcp/ip配置端口号1433,而命名实例则不是,需要你自己手动指定端口号。
网上的很多教程都是只说了默认服务器状态下的配置方式,而对命名服务器的配置方法一概不提,这就导致了很多人的配置失败。博主当初就是命名服务器的按照默认服务器的教程配置结果搞得一头雾水。
指定端口号的方法为:在所有tcp端口后输入任意数字,我在此输入的是1488
在这里插入图片描述

并在java命令行中填写你的端口号
以上都弄完之后,需要重启服务器,你如果是默认服务器就需要重启SQL server(MSSQLSEVERVER),如果是命名服务器就需要重启SQL server(命名)。
重启方法为:在SQL server服务中右击服务器-----重启
在这里插入图片描述

重启过后,我们回到MyEclipse重新运行命令当控制台出现“连接成功”证明连接数据库成功
在这里插入图片描述

----------------------------------------《完结撒花》-------------------------------
好了,以上就是java连接到SQLserver数据库的方法啦,如果失败了不要紧,大不了再来一次,仔细钻研一定会成功的。
这是我的个人博客欢迎大家多多浏览: https://tanzhen547.github.io/.

参与评论 您还未登录,请先 登录 后发表或查看评论
import java.sql.*; import jdbc.DBManager; import jdbc.DBManagerTest; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author * @version 1.0 */ /** * DBManager示例程序 */ public class Test { public Test() { } public static void main(String[] args) { DBManagerTest DBManagerTest1 = new DBManagerTest(); DBManager db_manager = new DBManager(); ResultSet result = null; // 数据库查询结果 try { db_manager.connect("rcms"); // 建表 db_manager .execute("create table table22 (c1 varchar(32) not null,c2 varchar(21))"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表更新操作,包括insert,update,delete db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow1','engine1')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow2','engine2')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow3','engine3')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow4','engine4')"); db_manager.beginTransaction(); // for(int i=1500;i<2000;i++){ //// db_manager.executeUpdate("insert into T_USER (USER_ID, USER_NAME, ORG_ID, PASSWD, OLD_PASSWD, STATION, CREAT_DATE, CREAT_TIME, ALTER_DATE, ALTER_TIME, DEL_DATE, TEL, EMAIL, STATUS, SEX, ACADEMIC, CERTI_TYPE, CERTI, FAX, ADRESS, POSTCODE, BAK1, BAK2, BAK3, BAK4, BAK5)values ('test00"+i+"', 'test00"+i+"', '0001 ', 'FF5E61835C355E755EEF9321 ', 'A43B59E342F86CEE5EEF9321 ', '0 ', '20071201', '101010', null, null, null, null, null, '1', null, null, null, null, null, null, null, null, null, null, null, null)"); // db_manager.executeUpdate("insert into T_USER_ROLE values('test00"+i+"','sys_admin','')"); // if(i%300==0)db_manager.commitTransaction(); // } } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表查询操作,返回结果集存在DBResult类中,DBResult中的数据库查询结果已与数据库断开连接了, // 不能动态更新,注意在并发操作中应重新执行表查询操作 result = db_manager.executeQuery("select * from table22"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } // int rows = result.getRows(); //返回的记录数 try { while (result.next()) { String s = result.getString("c1");// 取第4条记录c1的字段 System.out.println(s); s = result.getString("c2"); System.out.println(s); } } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

Try丶圣贤

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值