Java接入sqlserver的一些坑点记录

问题:

1.Java对应sqlserver的jdbc版本

jdbc对应的maven版本:网上搜索出来的资料有两种,一种是比较老版本的

<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>sqljdbc4</artifactId>
  <version>4.0</version>
</dependency>

这个版本我去maven的主仓库查了下,更新时间是2016年3月份,所以最好就别用这个老版本的包了。

推荐使用:另外一种是船新版本的driver

<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>mssql-jdbc</artifactId>
  <version>10.2.0.jre8</version>
</dependency>

2.Java对应sqlserver驱动名称

驱动名称:发现很多网上写的都是com.microsoft.jdbc.sqlserver.SQLServerDriver,申明这个名称在10.2.1版本是错的
正确的是com.microsoft.sqlserver.jdbc.SQLServerDriver。我在想这个错的名称是不是之前老的包里面是叫这个名字,还是说有人笔误写错了,
然后大家都是看的他的博客,也没有手动去连接一下,就抄过来,所以导致我看到的好几篇文档全都是错的。然后我下载了老版本的sqljdbc4,和mssql-jdbc的6.2.1的包,用
jd-gui反编译看了下,发现主程序一直是叫com.microsoft.sqlserver.jdbc.SQLServerDriver,所以还真是有博主写错了,大家摘抄了他的博客,真是离离原上谱。
在这里插入图片描述

在这里插入图片描述

我是先看了这篇文章
这个博主有点机智,根据idea对接的数据源里面的driver来看,驱动包应用程序名称和驱动包的版本,我就是用这个方式找到了接入sqlserver的驱动包的名称和版本。
感觉以后对接其他数据源也可以使用类似的方式,先用idea连接上对应的数据源,这样就可以知道对应的驱动包,驱动住程序的名称,和驱动包的版本了。

3.直接使用idea连接sqlserver连不上

账密,url什么的都是对的,在navicat里面也可以连上,但是放到idea里面就连不上了。
搜索资料后发现,应该是idea连接sqlserver的客户端和sqlserver的服务端的SSL/TLS的协议对不上导致的,之前我在mysql连接的时候,也偶尔出现过类似的问题,
有兴趣可以看看这篇文章。不过这次sqlserver的解决方式不同与mysql,需要在jdbcurl后面加上

;encrypt=true;trustServerCertificate=true;

这个是我从stackoverflow上面看到的,原文链接在这里,Stack Overflow问题链接

参考资料:

1.idea查找数据源的方式
2.Stack Overflow问题链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java程序中接入SQL Server,你需要遵循以下步骤: 1. 下载并安装 SQL Server JDBC 驱动程序。你可以从 Microsoft 官方网站或 Maven 中央存储库下载它。 2. 在 Java 代码中加载 JDBC 驱动程序。使用以下代码: ```java Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); ``` 3. 创建一个连接对象。使用以下代码: ```java String url = "jdbc:sqlserver://localhost:1433;databaseName=YourDatabaseName"; String user = "YourUsername"; String password = "YourPassword"; Connection connection = DriverManager.getConnection(url, user, password); ``` 4. 创建一个语句对象。使用以下代码: ```java Statement statement = connection.createStatement(); ``` 5. 执行 SQL 查询或更新语句。使用以下代码: ```java ResultSet resultSet = statement.executeQuery("SELECT * FROM YourTableName"); int rowsAffected = statement.executeUpdate("UPDATE YourTableName SET YourColumnName = 'NewValue' WHERE YourColumnName = 'OldValue'"); ``` 6. 处理结果集。对于 SELECT 查询,你需要遍历 ResultSet 对象并提取所需的数据。使用以下代码: ```java while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); // 处理每一行数据 } ``` 7. 关闭连接、语句和结果集对象。使用以下代码: ```java resultSet.close(); statement.close(); connection.close(); ``` 这就是在 Java接入 SQL Server 的基本步骤。请注意,你需要替换示例代码中的数据库名称、用户名和密码等值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值