【问题标题】:WEKA - JDBC Connection ExceptionWEKA - JDBC 连接异常
【发布时间】:2012-09-09 17:40:02
【问题描述】:

我在尝试使用 WEKA 连接 MySQL 数据库时遇到 JDBC 连接问题。

这是我的 DatabaseUtils.properties 文件:

jdbcDriver=com.mysql.jdbc.Driver
jdbcURL=jdbc:mysql://localhost:3306/mydb

我在路径中添加了 jdbc-mysql jar:

/opt/SenchaSDKTools-2.0.0-beta3:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/talha/apache-maven-3.0.4/bin:/home/talha/mysql-connector-java-5.1.20.jar:/opt/SenchaSDKTools-2.0.0-beta3:/home/talha/apache-maven-3.0.4/bin:/usr/lib/jvm/jdk1.7.0_05/bin:/home/talha/apache-maven-3.0.4/bin

Java 类[一个简单的测试类]

public class Test {

    public static void main(String[] args) throws Exception {

        InstanceQuery query = new InstanceQuery();
        query.setUsername("username");
        query.setPassword("password");
        String sql = "select * from user";
        query.setQuery(sql);
        // if your data is sparse, then you can say so too
        // query.setSparseData(true);
        Instances data = query.retrieveInstances();

    }

}

完整的堆栈跟踪:

Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Error, not in CLASSPATH?
Disconnected from the target VM, address: '127.0.0.1:33305', transport: 'socket'
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:idb=experiments.prp
    at java.sql.DriverManager.getConnection(DriverManager.java:604)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at weka.experiment.DatabaseUtils.connectToDatabase(DatabaseUtils.java:521)
    at weka.experiment.InstanceQuery.retrieveInstances(InstanceQuery.java:286)
    at weka.experiment.InstanceQuery.retrieveInstances(InstanceQuery.java:271)
    at com.tk.miner.Test.main(Test.java:22)

【问题讨论】:

  • 你的eclipse类路径中添加jdbc-mysql jar了吗?
  • 我正在使用 IntelliJ Idea 并将 jdbc-mysql 依赖项添加到我的 pom.xml 文件中。顺便说一下 DatabaseUtils.props 位于 src/main/resources 下。
  • 为什么要加载jdbc:idb=experiments.prp?哦,你的PATH 是一个一团糟
  • 我不知道为什么它会尝试加载jdbc:idb=experiments.prp。实际上是的,这条路看起来很乱,但我认为没有错。任何其他解决此错误的想法将不胜感激..

标签: java jdbc data-mining weka


【解决方案1】:

根据 JavaDocs InstanceQuery 默认为“jdbc.idbDriver”和“jdbc:idb=experiments.prp”。

您可以使用DatabaseUtils.properties 文件覆盖它们。尝试将 DatabaseUtils.props 放入 user.home (/home/talha/ ?) 或 当前目录 (在 Eclipse 中,当前目录是包含 src 文件夹的项目文件夹 -不知道它在 IntelliJ Idea 上的位置)。

【讨论】:

  • 非常感谢hkn,你拯救了我的一天!实际上我从某个地方(我不记得)读到这个文件放在 WEKA_HOME/props 中,这意味着 user.home/wekafiles/props。再次感谢更正此错误信息。
  • 根据weka.wikispaces.com/Properties+File,Weka版本决定路径:(= Weka 3.7.2) $WEKA_HOME/props
猜你喜欢
  • 2013-06-13
  • 2012-06-03
  • 2012-03-09
  • 1970-01-01
  • 2019-07-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2017-09-05
相关资源
最近更新 更多