数据库驱动版本报错There is already driver registered with name

数据库驱动版本报错There is already driver registered with name,第1张

关于这个问题解答如下:

第一个原因:mysl8.0以上版本数据库驱动类改啦,要配置com.mysql.cj.jdbc.DriverMysql8.0以下版本驱动类配置为:com.mysql.jdbc.Driver在使用mysql的jdbc驱动最新版(6.0+)版本时,数据库和系统时区差异引起的问题。

第二个原因:在使用mysql的jdbc驱动最新版时,数据库和系统时区差异引起的问题。

解决办法:

1.一种是降版本,并不推荐,如果需要降版本5.5版本可以满足基本需要;

2.还有一种是在jdbc连接的url后面加上serverTimezone=UTC或GMT即可,如果需要指定使用gmt+8时区,需要写成GMT%2B8,不然可能会报错误,解析为空。

tomcat

6.0

修改了目录结构,废弃了原来的common目录,原来common/lib下的所有jar包现在统一到lib目录下,因此你需要将你原来放置在common/lib目录下的扩展jar包拷贝到lib目录下。

1、从网盘上获取SQL Server的JDBC驱动程序6.0版本,下载地址:。

2、运行sqlserver_jdbc.exe程序,d出一个解压窗体,点击【Unzip】按钮,可以将安装程序解压到当前目录下。

3、解压后的目录中有一个jre7和jre8文件夹,里面都有一个sqljdbc的jar包,两者功能一样,只是不同的版本。选择其中一个jar包,将其添加到我们的工程中。

4、接下来我们就可以使用sqljdbc.jar包中提供的驱动程序来访问SQL Server数据库了,代码如下:

// 加载数据库驱动类

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

System.out.println("数据库驱动加载成功")

 

Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433DatabaseName=xxx", "sa", "12345")

System.out.println("数据库连接成功")

通过上面的代码就可以连接到SQL Server数据库了。其中,1433是SQL Server的默认端口号,DatabaseName是要连接数据库的名称,sa是登录名,12345是登录密码。


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

原文地址: https://outofmemory.cn/sjk/6668837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存