R通过JDBC连接到SQL Server-驱动程序版本错误



我正试图通过JDBC连接到SQL Server(是的,我知道ODBC更好,但我需要对服务器安全性进行更改(。

library(RJDBC)
library(rJava)
drv <- JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver" , 
"C:/SQL JDBC/sqljdbc_4.1/enu/jre7/sqljdbc41.jar" ,identifier.quote="`")

但我似乎找不到正确版本的驱动程序:

Error in .jfindClass(as.character(driverClass)[1]) : 
java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0

我尝试过4.0、4.1、4.2和8.4的驱动程序:

https://learn.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-ver15#java和jdbc规范支持

我在Windows10上安装了64位R和64位Java。

问题是您的机器上安装了Java 8,但驱动程序是为Java 14构建的(类文件版本58.0告诉这一点(。

您可以在机器上安装java14,也可以获得Java8的JDBC驱动程序。

用于java 8 的SQL Server JDBC驱动程序的链接

相关内容

最新更新