import com.@R_403_198@.jdbc.jdbc2.optional.@R_403_198@DataSource
import com.@R_403_198@.jdbc.*
import groovy.sql.*
/* the commented code works fine
@R_403_198@DataSource ds = new @R_403_198@DataSource()
ds.user = 'root'
ds.password = ""
ds.url = 'jdbc:@R_403_198@://localhost:3306/test'
sql sql=sql.newInstance(ds)
sql.close()
*/
d=Class.forName("com.@R_403_198@.jdbc.Driver").newInstance()
println d.class // class com.@R_403_198@.jdbc.Driver
sql sql=sql.newInstance(
'jdbc:@R_403_198@://localhost:3306/test','root',"",'com.@R_403_198@.jdbc.Driver'
)
注释的代码工作正常,我可以得到驱动程序的实例
但是当我使用的时候
sql sql=sql.newInstance(
'jdbc:@R_403_198@://localhost:3306/test','com.@R_403_198@.jdbc.Driver'
)
它引发了一个异常:
java.sql.sqlException:没有为jdbc找到合适的驱动程序:@R_403_198@:// localhost:3306 / test
我无法解决它,是否有任何男孩来帮助我?
最佳答案
Java中的JDBC驱动程序管理查看JDBC jar的系统类加载器.
因此,要在GroovyConsole中运行@R_403_198@访问脚本,您需要使用:
@GrabConfig( systemClassLoader=true )
@Grab( '@R_403_198@:@R_403_198@-connector-java:5.1.27' )
在你的脚本中,或者你需要通过运行它来启动带有类路径jar的控制台:
groovyconsole -cp @R_403_198@-connector-java-5.1.27-bin.jar
我不认为有一种方法可以告诉add jar to path选项使用systemClassLoader