使用绿色版SQLServer2008R2出现的问题解析

 更新时间:2023年03月30日 08:46:34   作者:培轩  
这篇文章主要介绍了使用绿色版SQLServer2008R2出现的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

已经有很多年不使用SQLServer了,毕竟商业版本是个收费的,安装也不容易。最近因为想带领学生学习做个练习性的项目,参考了.net下的petshop数据库,发现只提供了SQLServer和Oracle的版本。为了省事于是只好使用SQLServer。在网上找个快捷使用的绿色版本,SQL Server 2008 R2 v3.2.1 绿色免费j精简版(附使用教程)。下载网址如下:https://www.jb51.net/softs/796287.html#downintro2

在使用中遇到的问题记录一下,下次要再用时防止出现重复的问题。

1、绿色版本缺乏必要的支持Navicat For MSSQL无法访问

这个问题暂时没有花时间解决,好在绿色版软件中自带个简陋的管理器勉强可以使用,就是界面使用上看起来有点不美观。

2、使用JDBC连接MSSQL数据库出现的问题

依然记得在早前使用JDBC访问MSSQL的实现是个第三方的叫jtds,在某开源项目中使用的也是这个依赖,到这个jdbc的发布网站上查看发现最近的更新是2013年。之后就没有最新的版本出来了。原来是微软自己有JDBC的实现。使用文档有中文说明,网址如下:https://learn.microsoft.com/zh-cn/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16

本着用新不用旧的原则,直接使用最新版本的JDBC驱动,按照Maven中的配置定义如下:

<dependency>
   <groupId>com.microsoft.sqlserver</groupId>
   <artifactId>mssql-jdbc</artifactId>
   <version>12.2.0.jre11</version>
</dependency>

在完成与SpringBoot的相关配置之后,发现SpringBoot应用启动过程根本无法连接这个绿色版本的SQLServer数据库。这是什么情况?经过分析后得出结论是MSSQL的绿色版本过低与JDBC不相匹配,高级的SQLServer还暂时没有合适的绿色版本,只能考虑降低JDBC的版本。于是降低 MSSQL 驱动版本至 8.2.x,并且将jre支持指定为jre8,新的Maven依赖配置如下所示:

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

修改完成后SpringBoot应用启动终于可以连接到数据库了,但是在实际进行数据访问时又出现了以下的错误:

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client

这是因为Java8(291)之后 , 禁用了TLS1.1 , 使JDBC无法用SSL连接SqlServer2008怎么办。具体解决方法可以参考如下的网文地址:

https://www.jb51.net/article/279437.htm

https://www.jb51.net/article/279441.htm

最后还要注意的问题是JDBC的连接串的用法,由于MSSQL使用的绿色版本与标准安装的SQLServer在端口和名称是不一样的,标准安装的SQLServer是用户自己指定数据库实例和用户密码(也可以使用默认的),而绿色版本由于快捷使用需要已经提前设置好这些系统参数,可以在启动界面上看到:

因此JDBC连接串为:jdbc:sqlserver://127.0.0.1:8829;instanceName=QJH2;database=MSPetShop4

使用用户标识是sa,密码为sql

到此这篇关于使用绿色版SQLServer2008R2出现的问题的文章就介绍到这了,更多相关SQLServer2008R2使用问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)

    SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000)

    "无法打开新数据库 'POS'。CREATE DATABASE 中止。 (Microsoft SQL Server,错误: 9003)"看是9003错误,怎么解决呢,下面小编给大家分享SQL SERVER 2000 9003错误的解决方法(只适用于SQL2000),一起看看吧
    2016-09-09
  • sqlserver 使用SSMS运行sql脚本的六种方法

    sqlserver 使用SSMS运行sql脚本的六种方法

    这篇文章主要介绍了sqlserver 使用SSMS运行sql脚本的六种方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • SQL去除字符串空格的ltrim()和rtrim()函数的实现

    SQL去除字符串空格的ltrim()和rtrim()函数的实现

    SQL并不提供trim()函数去除字符串两边空格,只提供了去除字符串左边空格ltrim()函数和去除右边字符串空格rtrim()函数,但是只要将这两个函数配合使用,就能达到去除字符串两端空格的效果,本文就来介绍一下这两个函数的用法
    2023-11-11
  • SQL Server创建链接服务器的存储过程示例分享

    SQL Server创建链接服务器的存储过程示例分享

    创建链接服务器。链接服务器让用户可以对 OLE DB 数据源进行分布式异类查询。在使用 sp_addlinkedserver 创建链接 服务器后,可对该服务器运行分布式查询。
    2014-07-07
  • SQL Server AlwaysOn读写分离配置图文教程

    SQL Server AlwaysOn读写分离配置图文教程

    这篇文章主要介绍了SQL Server AlwaysOn读写分离配置图文教程,需要的朋友可以参考下
    2017-09-09
  • 谈谈sqlserver自定义函数与存储过程的区别

    谈谈sqlserver自定义函数与存储过程的区别

    这篇文章主要介绍了谈谈sqlserver自定义函数与存储过程的区别,需要的朋友可以参考下
    2014-09-09
  • sql中的regexp与like区别实现

    sql中的regexp与like区别实现

    本文详细介绍了正则表达式REGEXP和LIKE语句的用途,使用它们进行模式匹配,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • sql server中死锁排查的全过程分享

    sql server中死锁排查的全过程分享

    死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。下面这篇文章主要给大家介绍了关于sql server中死锁排查的相关资料,需要的朋友可以参考下
    2018-05-05
  • sql 数据库出现“只读”提示 解决方法 (sql 错误 5120)

    sql 数据库出现“只读”提示 解决方法 (sql 错误 5120)

    这篇文章主要介绍了sql 数据库出现“只读”提示 解决方法 (sql 错误 5120),需要的朋友可以参考下
    2016-02-02
  • 关于SQL Server数据库中的用户权限和角色管理功能实现

    关于SQL Server数据库中的用户权限和角色管理功能实现

    在本文中,我们介绍了在SQL Server中创建用户、分配权限和管理角色的基础知识,请记住定期审查和更新用户权限,以符合您组织的安全政策和数据访问要求,这篇文章主要介绍了关于SQL Server数据库中的用户权限和角色管理,需要的朋友可以参考下
    2024-03-03

最新评论