Weka与MySQL连接配置

来源:互联网 发布:java直角三角形 编辑:程序博客网 时间:2024/06/05 17:17

最近在使用weka做数据挖掘,想讲weka与数据库MySQL连接,在网上找了很多帖子,很多都不是太详细。本人综合自己的配置过程将步骤重新整理,希望对搞weka的人来说有一点帮助。

1、安装wekamysql(本人默认你已经安装了wekaMySQL

2、下载连接驱动程序

        weka连接mysql数据库需要连接驱动程序mysql-connector-java-5.1.6-bin.jar,下载地址:http://download.csdn.net/download/u012963068/8223351

       下载完后,在weka的安装目录下(我放在了D:\Program Files中)D:\Program Files\Weka-3-7新建lib文件夹,将jar包复制到lib文件夹下,并且在JDK的安装目录中jdk1.7.0_67\jre\lib下也放mysql-connector-java-5.1.6-bin.jar

3、设置环境变量

        此处环境变量的配置和JDK一样,首先新建WEKA_HOME=D:\Program Files\Weka-3-7

       修改Path,path的最前面加上%WEKA_HOME%\lib\mysql-connector-java-5.1.6-bin.jar;使path=%WEKA_HOME%\lib\mysql-connector-java-5.1.6-bin.jar;%JAVA_HOME%\jre\lib\ext\mysql-connector-java-5.1.6-bin.jar;......

4、修改weka.jar

这里只是稍微修改配置文件,所以只要使用解压工具打开在\Weka-3-7\weka.jar\experiment里找到DatabaseUtils.props将其备份为其他名字然后将DatabaseUtils.props.mysql重命名为DatabaseUtils.props,并修改其内容:

# JDBC driver (comma-separated list)
jdbcDriver=jdbcDriver=com.mysql.jdbc.Driver

 

# specific data types,具体的数据类型修改如下,主要是去掉注释

string, getString() = 0;    --> nominal

boolean, getBoolean() = 1;  --> nominal

double, getDouble() = 2;    --> numeric

byte, getByte() = 3;        --> numeric

short, getByte()= 4;        --> numeric

int, getInteger() = 5;      --> numeric

long, getLong() = 6;        --> numeric

float, getFloat() = 7;      --> numeric

date, getDate() = 8;        --> date

text, getString() = 9;      --> string

time, getTime() = 10;       --> date

BigDecimal,getBigDecimal()=11;   -->nominal 

然后添加如下内容:

TINYINT=3

SMALLINT=4

SHORT=5

INTEGER=5

INT=5

INT_UNSIGNED=6

BIGINT=6

LONG=6

REAL=7

NUMERIC=2

DECIMAL=2

FLOAT=2

DOUBLE=2

CHAR=0

TEXT=0

VARCHAR=0

LONGVARCHAR=9

BINARY=0

VARBINARY=0

LONGVARBINARY=9

BIT=1

BLOB=8

DATE=8

TIME=8

DATETIME=8

TIMESTAMP=8

 

其他的暂时无需修改,保存。

网上的很多文章到这一步就去运行weka,我也试了一下发现没有办法找到jdbc.driver,没办法连接上数据库。结果我再查资料,再做如下的操作,就可以正常连接了。

5、打开runWeka.ini文件,到文件尾部

在文件尾部添加驱动器的引用(之前下载的驱动文件位置)

cp=%CLASSPATH%;D:/Programs/Weka-3-7/lib/mysql-connector-java-5.1.6-bin.jar

 

保存后运行weka

 

1、  点击

2、  点击图中圈住的地方

 

3、在URL框中输入:jdbc:mysql://localhost:3306/mysql    (localhost是服务器名称本机可以写localhost也可以写IP地址,远程连接必须写IP地址,3306是MySQL的端口号,默认是3306最后的mysql是要访问的数据库名,自行修改,确保要访问的数据库存在)

 

输入用户名和密码后,点击ok,



4点击如下连接按钮:

如果在下面的info框中,显示connectingto: jdbc:mysql://localhost:3306/mysql = true,则连接成功;否则失败。

 

最后要想用weka打开数据库中的数据还需要在中间的query中写SQL语句才可以哦!


0 0