weka连接mysql

来源:互联网 发布:网络女主播视频种子 编辑:程序博客网 时间:2024/06/05 11:28

1.安装WEKA和Mysql

2.下载JDBC驱动jar包

下载完后,在weka安装目录下新建lib文件夹,我的是E:\Program Files\Weka-3-8\,将jar包放进去。并且在jdk安装目录下的jre中的lib\ext文件夹下也加入jar包(我感觉将jar放在jdk的jre中这个是 多余的步骤)。

我的是E:\Program Files\Java\jdk1.8.0_60\jre\lib\ext

3. 设置环境变量

此处环境变量的配置和JDK一样,首先新建WEKA_HOME

修改path在前面加上%WEKA_HOME%\lib\mysql.jar

然后在path添加%JAVA_HOME%\ext\lib\mysql.jar(感觉这个也是多余)

4.修改weka.jar包

这里只是稍微修改配置文件,所以只要使用解压工具打开在\weka.jar\experiment里面找到DatabaseUtils.pros将其备份为其他名字,我改为了DatabaseUtils.props.bak

然后将DatabseUtils.pros.mysql重命名为DatabaseUtils.pros,并修改其内容:

改为

# 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%;E:\ProgramFiles\Weka-3-8\lib\mysql.jar

保存后运行weka

如果出现下面的情况。

如果连接数据库不成功:如果没有连接上数据库,不要着急。按如下顺序依次检查可能产生问题的设置:数据库驱动程序是否正确?CLASSPATH的设置是否正确?配置文件中jdbcDriverjdbcURL两项配置是否正确拼写?配置文件是否放到正确位置?数据库用户名和密码是否正确?该数据库用户是否拥有足够权限?数据库是否已经启动?等等。 

一切步骤成功以后发现下面问题:

发现出现了这个问题(尴尬):


错误原因:jdbc:mysql://localhost:3306/test 一定要把数据库名和servername改成自己的!!

最后成功。

 

原创粉丝点击