Weka连接MySQL数据库及连接失败问题解决

本文详细介绍如何使用Weka 3.8连接MySQL 5.7.14数据库,包括安装步骤、环境变量设置、配置文件修改等内容。适用于需要进行数据挖掘和机器学习任务的研究人员和技术人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WEKA连接数据库的教程,网上有很多,百度一下就可以找到。

我主要参考的是http://blog.youkuaiyun.com/u012963068/article/details/41721183 这位博主大大的步骤,并根据我的个人体验做出一些小小的修改。


一、软件环境

(1)Weka3.8

(2)MySQL5.7.14(实际上我在之前写WEB相关的内容时下载的WampServer,其中已经包含了该版本MYSQL)

(3)mysql-connector-java-5.1.45(下载地址:https://dev.mysql.com/downloads/connector/j/)

二、安装步骤

1、安装wekamysql

2、下载连接驱动程序

  (1)weka连接mysql数据库需要连接驱动程序mysql-connector-java-5.1.45.jar,解压,取其中的mysql-connector-java-5.1.45-bin.jar

  (2)下载完后,在weka的安装目录下(我放在了D:\D:\Weka-3-8新建lib文件夹,将mysql-connector-java-5.1.45bin.jar包复制到lib文件夹下。

  (3)在JDK的安装目录中C:\Program Files\Java\jdk1.8.0_152\jre\lib下也放mysql-connector-java-5.1.45-bin.jar(同时以防万一,我在C:\Program Files\Java\jre1.8.0_152\lib\ext也放置了同样的文件。虽然不知道自己这样做有什么意义。。)

3、设置环境变量

  此处环境变量的配置和JDK一样,首先新建系统变量WEKA_HOME,其值为D:\Weka-3-8

  修改classpath,在其中加上%WEKA_HOME%\lib\mysql-connector-java-5.1.45-bin.jar;%JAVA_HOME%\jre\lib\mysql-connector-java-5.1.45-bin.jar

4、修改weka.jar

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

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

# database URL

jdbcURL=jdbc:mysql://localhost:3306/weka (weka为数据库名称,自己起的)


# 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

 

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


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

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

cp=%CLASSPATH%;D:/Weka-3-8/lib/mysql-connector-java-5.1.45-bin.jar

 

三、相关问题及解决

保存后运行weka,点击Open DB ......(输入用户名、密码再点击连接,相关操作见开头链接博主的详细描述。)

然而,我全部做完之后,发现提示:

exception: java.sql.SQLException: Unable to find a suitable driver for jdbc:mysql://localhost:3306/weka

即找不到合适的驱动器。

在保证前面我的系统变量等各种地址都填写无误的情况下,我推测可能的原因有两个:

1、mysql-connector-java的版本无法驱动MYSQL的版本。(我一开始用的非常老旧的版本,后来下载的较新版本的。)

这种情况需要下载一个符合要求求,能带得动现有MYSQL版本的驱动即可。

2、在上面这种情况解决之后依然无法连接时,虽然不知道原因,但是我尝试把我一开始下载的mysql-connector-java-5.1.45.jar(注意不是mysql-connector-java-5.1.45-bin.jar)放入C:\Program Files\Java\jre1.8.0_152\lib\ext即可解决。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值