CSDN博客

img wodeyouxian

WeKa连接数据库

发表于2008/9/28 0:53:00  1008人阅读

//原创,但参考了大量的网络文档,在此对他们表示感谢 

=============
DB:mysql 5.0
=============
1.下载mysql-connector-java-3.1.12-bin.jar,据说weka不支持太高的版本,所以我下载这个比较早期的版本.
2.将mysql-connector-java-3.1.12-bin.jar加入到classpath中.
  在windows中:我的电脑/属性/高级/环境变量/在classpath的最后加上;/YourPath/mysql-connector-java-3.1.12-bin.jar(最前面有个;不能掉)
  在Linux中,su - vi /etc/profile,在classpath最后加上:/YourPath/mysql-connector-java-3.1.12-bin.jar(最前面有个:不能掉)
  Windows最好重启一下,Linux退出控制台,然后再进入控制台即可.
3.(本步不是必须的).提取DatabaseUtils.props,解压weka.jar,将experiment/DatabaseUtils.props拷贝到weka的安装目录下.其它的文件可删除.修改DatabaseUtils.props,(以Linux为例,Windows可参照进行)
  1)在jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver,org.gjt.mm.mysql.Driver,com.mckoi....这行前加一个#号注释掉.
  2)去掉jdbcDriver=org.gjt.mm.mysql.Driver前面的#.
  3)在#jdbcURL=jdbc:idb=experiments.prp前加#号,注释掉本行.
  4)jdbcURL=jdbc:mysql://localhost:3306/test去掉本行前的#号,使之起作用.请将localhost改成你mysql服务器的地址,test改成你要链接的数据库实例.
4.此时应该能正常使用WeKa的数据库功能.点击Explorer时如果提示找不到org.gjt.mm.mysql.Driver,将mysql-connector-java-3.1.12-bin.jar拷贝到$JAVA_HOME/jre/lib/ext/下面即可.


5.链接数据库成功后,如果数据库表字段与weka不同时,要在DatabaseUtils.props里做转换,方法如下:
  1)weka连接数据库
  2)desc tableName,这样就知道了该表中有什么字段.对照DatabaseUtils.props中已经定义的转换,就知道还有什么字段是没转换的.
  3)查找TIMESTAMP=8,然后将要转换的字段列在下面:
    ========    
    TIMESTAMP=8
    BLOB=1
    .....
    ========
  4)如果字段名里有空格,用下划线或反斜线代替空格即可,如:
    INT_UNSIGNED=5
然后重新连接数据库,select * from yourTable.点击ok.数据就导入了.

0 0

相关博文

我的热门文章

img
取 消
img