这篇文章主要讲解了“使用绿色版SQLServer2008R2出现问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用绿色版SQLServer2008R2出现问题怎么解决”吧!
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怎么办。
最后还要注意的问题是JDBC的连接串的用法,由于MSSQL使用的绿色版本与标准安装的SQLServer在端口和名称是不一样的,标准安装的SQLServer是用户自己指定数据库实例和用户密码(也可以使用默认的),而绿色版本由于快捷使用需要已经提前设置好这些系统参数,可以在启动界面上看到:
因此JDBC连接串为:jdbc:sqlserver://127.0.0.1:8829;instanceName=QJH2;database=MSPetShop4
使用用户标识是sa,密码为sql