因为毕业设计做的是与数据挖掘有关的课题,最近开始学习一个开源的数据挖掘平台weka。昨天做了一下weka与mysql数据库的连接,在网上找了很多教程,但是网上的很多教程都是相互抄来抄去的,看教程连接时会出现no suitable driver这个问题。下面我将出一个完整可用的教程。
相关环境配置:windows7,weka 3.8,jdk 1.8,mysql5.0
1. 首先安装好weka,在weka安装目录下新建lib文件夹,将mysql驱动mysql-connector-java-5.1.38-bin.jar拷贝进lib目录下
2. 环境变量配置:右键点击计算机->属性->高级系统设置->环境变量,新建环境变量WEAK_HOME=WEKA的安装目录(比如我安装在C:\Program Files\Weka-3-8)
在CLASSPATH变量中添加“;%WEKA_HOME%\lib\mysql-connector-java-5.1.38-bin.jar”
3. 修改weka目录下weka.jar的相关文件:将weka.jar用win.rar(解压缩软件)打开,进到weka/experiment目录下,这个目录下有DatabaseUtils.props文件,weka启动时会调用这个文件,这个目录下还有DatabaseUtils.props.mysql,DatabaseUtils.props.mssqlserver2005(这是weka为相应的数据库提供的文件)等文件,因此我们把DatabaseUtils.props重命名为DatabaseUtils.props.bak,DatabaseUtils.props.mysql改为DatabaseUtils.props,后面我们需要修改DatabaseUtils.props里的配置:
#jdbcDriver=org.gjt.mm.mysql.Driver
修改为:jdbcDriver=com.mysql.jdbc.Driver
# database URL,保持不变
jdbcURL=jdbc:mysql://server_name:3306/database_name
4.很多教程告诉我们做上述修改就行了,但是我试了一下还是会报no suitable driver这个错。我们还需要修改一个地方:打开weka安装目录下的runWeka.ini文件,到文件尾部,修改为(添加driver的文件路径):cp=%CLASSPATH%;C:/Program Files/Weka-3-8/lib/mysql-connector-java-5.1.38-bin.jar
5.运行weka,进入explorer -->open DB
在URL框中输入:jdbc:mysql://localhost:3306/mysql (localhost是服务器名称,最后的mysql是要访问的数据库名,自行修改,确保要访问的数据库存在)
点击user: 输入用户名和密码后,点击connect,
如果在下面的info框中,显示connecting to: jdbc:mysql://localhost:3306/mysql = true,则连接成功;否则失败。
可以在query框中输入sql语句,点击excute执行