首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy java.sql.SQLException:没有为jdbc:sqlserver://找到合适的驱动程序

Groovy java.sql.SQLException:没有为jdbc:sqlserver://找到合适的驱动程序
EN

Stack Overflow用户
提问于 2020-12-04 20:29:43
回答 1查看 114关注 0票数 0

我对groovy非常陌生,对我正在获得的Groovy java.sql.SQLException感到非常困惑。

这是我的密码

代码语言:javascript
复制
// https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc
@Grapes(
        @Grab(group='com.microsoft.sqlserver', module='mssql-jdbc', version='7.2.2.jre8')
)

import groovy.sql.*
 
def username = xxx, password = yyy
 
// Create connection to MSSQL with classic JDBC DriverManager.
def db = Sql.newInstance("jdbc:sqlserver://localhost:1433;database=tempdb;", username, password, 'com.microsoft.sqlserver.jdbc.SQLServerDriver')

相同的("jdbc:sqlserver://localhost:1433;database=tempdb;", 'com.microsoft.sqlserver.jdbc.SQLServerDriver')适用于我的其他情况,如Java或JMeter,但不适用于groovy。我得到的是:

代码语言:javascript
复制
> groovy groovy-sql-test.groovy
Picked up _JAVA_OPTIONS: -Xms512M -Xmx1g
Caught: java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;database=tempdb;
java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost:1433;database=tempdb;
        at groovy-sql-0.run(groovy-sql-0.groovy:11)

这是在Win10下运行的。

我也试过

groovy -cp D:\path\to\my\jars groovy-sql-test.groovy

D:\path\to\my\jars dir中,我有sqljdbc41.jarmssql-jdbc-7.2.2.jre8.jar文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-04 21:59:10

您必须使用@GrabConfig(systemClassLoader=true)来使用系统类加载器,从而获取jdbc驱动程序。

来自https://groovy-lang.org/databases.html#_connecting_using_grab

@GrabConfig语句是确保使用系统类加载器所必需的。这确保驱动程序类和系统类(如java.sql.DriverManager )位于同一个类加载器中.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65150299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档