我正在尝试使用interbase连接到旧版jdbc数据库,这是我的代码

try {
    Class.forName("interbase.interclient.Driver");
    Connection connection = DriverManager.getConnection("jdbc:interbase://localhost/k1500.gdb","usrname","password");
    Statement statement = connection.createStatement();
    statement.execute("Select * from myTable");
    ResultSet set =  statement.getResultSet();
}catch (Exception ex){
    ex.printStackTrace();
}


我得到这个例外:

interbase.interclient.UnlicensedComponentException: [interclient] Unlicensed component: This version of InterClient refuses communication with InterBase version WI-V7.1.0.131/tcp
See API reference for exception interbase.interclient.UnlicensedComponentException
at interbase.interclient.Connection.remote_ATTACH_DATABASE(Unknown Source)
at interbase.interclient.Connection.connect(Unknown Source)
at interbase.interclient.Connection.<init>(Unknown Source)
at interbase.interclient.Driver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at Application.main(Application.java:13)


有人可以帮我解决这个问题吗?

最佳答案

您需要获得适当版本的Interbase的许可证。 (事实上​​,您使用的是“旧版”版本不会改变这一点。)

文章Licensing and Installation of InterBase 7解释了不同种类的Interbase许可证,以及如何安装它们。

Embarcadero网站介绍了如何获取Interbase许可证。如果您在查找所需版本时遇到困难,建议您使用Request a Quote表单。

您的组织可能已经/仍然拥有许可证,而您/他们错放了许可证。

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

10-10 01:13