gpt4 book ai didi

java - 与 Beanshell 的 JDBC 连接

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:51 24 4
gpt4 key购买 nike

StackOverflow 上的其他类似问题没有回答我在这方面的问题。我的这个脚本不起作用,我想知道如何让它工作:

// beanshell script script.bsh
import com.mysql.jdbc.Driver;
import java.sql.Connection;
name="com.mysql.jdbc.Driver";
c = getClass( name );
c = BshClassManager.classForName( name ); // equivalent

我得到的错误是:

// Debug: getResolvedMethod cache MISS: class bsh.BshClassManager - classForName
// Debug: Searching for method: classForName( java.lang.String ) in 'bsh.BshClassManager'
// Debug: Looking for most specific method: classForName
bsh.UtilEvalError: Cannot reach instance method: classForName( java.lang.String ) from static context: bsh.BshClassManager
at bsh.Reflect.checkFoundStaticMethod(Unknown Source)
at bsh.Reflect.resolveJavaMethod(Unknown Source)
at bsh.Reflect.resolveExpectedJavaMethod(Unknown Source)
at bsh.Reflect.invokeStaticMethod(Unknown Source)
at bsh.Name.invokeMethod(Unknown Source)
at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHAssignment.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.source(Unknown Source)
at bsh.Interpreter.main(Unknown Source)

documentation说它应该存在。

最佳答案

根据http://beanshell.org/manual/classpath.html#Loading_Classes_Explicitly根据文档,您可以自由选择 getClass( name )BshClassManager.classForName( name ) 来加载驱动程序。另请注意 //equal 注释。

也许文档只是给出了如何正确使用 BshClassManager 的错误示例。但由于它只是一个“等效项”,因此您可以将其完全删除。 getClass() 应该可以正常工作。

关于java - 与 Beanshell 的 JDBC 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7113090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com