Weka连接MySQL数据库及连接失败问题解决
WEKA连接数据库的教程,网上有很多,百度一下就可以找到。
一、软件环境
(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、安装weka和mysql
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即可解决。
上一篇: ScrollView+ListView滑动冲突Demo
下一篇: 栈和队列面试题
推荐阅读
-
mysql连接失败的原因(mysql数据库连接失败解决方法)
-
Python连接mysql数据库及python使用mysqldb连接数据库教程
-
Weka连接MySQL数据库及连接失败问题解决
-
node.js平台下的mysql数据库配置及连接
-
MyBatis连接MySql数据库及使用教程(XML配置法)
-
Python实现连接MySql数据库及增删改查操作详解
-
linux配置mysql数据库远程连接失败的解决方法
-
SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
-
数据库~dotnetcore连接Mysql插入中文失败
-
python 连接数据库mysql解压版安装配置及遇到问题