似乎有几篇关于使用Weka作为程序实现的帖子,但似乎很少有帖子与使用Weka 3.7/3.6和数据库进行数据挖掘有关。
我指的是韦卡的网站。(http://weka.wikispaces.com/Databases)
为了连接Weka和数据库,我所做的是...
1)下载适用于MySQL的JDBC驱动程序(mySQL-Connector-Java-5.1.34-bin.jar)
2)将CLASSPATH设置为“用户环境变量的C:\Program Files\Weka-3-7\mysql-connector-java-5.1.34-bin.jar”
3)打开RunWeka.ini文件,将最后一行改为“cp=%CLASSPATH%;C:\Program Files\Weka-3-7\mysql-connector-java-5.1.34-bin.jar”“(我指的是”http://blog.ahughes.org/?p=347“)
但是,WEKA 3.7仍然会产生没有合适的驱动程序错误。我用Weka 3.6试了试,但徒劳无功。
Weka的网站上面似乎提供了一些陈旧的信息,有些信息似乎与Weka 3.6或更高版本无关。
如果你能给我任何见解,我将不胜感激。
- 编辑*
(WEKA & MySQL Setup a connection)这个人似乎遇到了同样的问题,但遵循这个页面的答案并没有解决我的问题……
5条答案
按热度按时间sigwle7e1#
根据数据库配置的故障排除部分,有3个可能的错误可能会给您带来“没有合适的驱动程序例外”。
1.您的JDBC驱动程序未在CLASSPATH中设置。通过SimpleCLI执行命令‘Java weka.core.SystemInfo’,可以确定这是否是问题所在。如果属性‘java.class.Path’只有条目‘./weka.jar’,则只需将CLASSPATH环境变量设置为“.;C:/PATH_TO_JDBC.jar”。重新运行上述命令,在‘java.class.path’中,您现在应该看到‘java.class.path:./weka.jar;.;C:/Path_to_jdbc.jar’。
1.jdbcDriver属性可能拼写错误,或者您在DatabaseUtils.props中多次使用它(它必须是唯一的)
1.jdbcURL属性拼写错误,或者您在DatabaseUtils.props中多次使用它(它必须是唯一的)
最后注意:如果您使用的是Weka(>=3.7.2),则必须将DatabaseUtils.props文件放在‘C:\USERS*USERNAME*\wekafiles\props’下
epfja78i2#
在使用Weka Explorer图形用户界面时,我遇到了这个错误。我仔细检查了一下:
执行WEKA的CLASSPATH中包含JDBC驱动程序
1.使用正确的DatabaseUtil.prop文件。在我的例子中,我使用了SQLite版本,将其重命名(从其末尾删除了SQLite),并将其放置在~/wekafiles/props中,然后编辑其数据库地址以指向我的数据库
1.打开WEKA后,确保数据库地址与PROP文件中的地址相同
1.清除连接后,在单击确定之前,我必须在文本字段中添加一个SQL查询。**这是为我做的。**在没有查询的情况下,按OK会导致一个错误,说没有找到适合[Nothing]的驱动程序,即使驱动程序地址是绝对正确的。
希望这能帮上忙。
vlurs2pr3#
我所做的最简单的方法是:在现有的JAVA_HOME/jre/lib/ext/文件夹中添加mysql-Connector.jar并重新启动Weka。顺便说一句,我用的是WEKA-3-8-2,这个方法100%有效。还有一件事,不要忘记为数据库连接分配正确的URL和驱动程序[保存在对当前系统用户具有读写权限的位置]。
2fjabf4q4#
执行上述语句后,请确保Map同一
DatabaseUnits.props
文件中的属性类型,因为Java不会将MySQL数据类型关联到Weka。等等.。
好工作
bxpogfeg5#
你把你的“DatabaseUtils.props”放到你的主目录里了吗?
我在SQL数据库上遇到了同样的问题,我使用了JDBC-ODBC桥,它起作用了,看看你是否可以用MySQL做同样的事情。