加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Weka链接SQLServer2005数据库

发布时间:2020-12-12 15:35:27 所属栏目:MsSql教程 来源:网络整理
导读:最近用Weka链接SQLServer2005,遇到了一些问题,但通过查资料最终成功,现总结如下: (1)下载Microsoft SQL Server 2005 for JDBC Driver驱动程序,并安装: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cnFamilyID=c47053eb-3b64-47

最近用Weka链接SQLServer2005,遇到了一些问题,但通过查资料最终成功,现总结如下:
(1)下载Microsoft SQL Server 2005 for JDBC Driver驱动程序,并安装:

http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba
(2)修改CLASSPATH路径,将刚才安装的sqljdbc.jar添加到路径中。
(3)必备的Weka不用说了。这里我经安装了Weka3.5。
(4)在Weka3.5的安装完的文件夹下,有个weka.jar文件,当然可以用winrar打开,找到weka.jar/weka/experiment 目录,里面有DatabaseUtil.props文件。因为我们连接的是sqlserver2005,所以可以按照DatabaseUtil.props.oracle 的格式修改DatabaseUtil.props
(5)修改 DatabaseUtil.props,以下是修改好的内容(#表示注释)
# Database settings for Microsoft SQL Server 2005
#
# url:????
http://www.microsoft.com/
# jdbc:??? http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba
# author: Fracpete (fracpete at waikato dot ac dot nz) huzhyi21@163.com
# version: $Revision: 1.2 $

# JDBC driver (comma-separated list) 驱动程序
jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver

# database URL 连接字符串( databaseName为数据库名;user为用户名;password为密码,这几项因人而异。)
jdbcURL=jdbc:sqlserver://localhost:1433;databaseName=mydb;user=sa;password=1234

# specific data types 数据类型的转换。由于weka仅支持名词型(nominal)、数值型(numeric)、字符串、日期(date)。所以我们要将现在数据库中的数据类型对应到这四种类型上来。


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
gloat,getFloat() = 7;??????????? -->numeric
date,getDate() = 8;??????????????? -->date
varchar=0
float=2
tinyint=3
int=5

# other options 其它选项,展示用不到。
CREATE_DOUBLE=DOUBLE PRECISION
CREATE_STRING=VARCHAR(8000)
CREATE_INT=INT
checkUpperCaseNames=false
checkLowerCaseNames=false
checkForTable=true

(6)下面可以操作了!运行weka的Explore界面后,通过Open DB..打开SQL Viewer工作界面通过user我们设置好用户名和密码后即可connect;连接成功后,可以通过书写sql语句查询出想要的结果后,OK即可在Explore界面的preprocoss面板中看到了输入的数据。在连接读取数据库的数据时,SQL Viewer面板也提供了Info,相当与我们单纯用jdbc连接数据库时的调试信息。
当然,在这里我出现了问题,就是提示还是找不到classpath里的sqljdbc,就将sqljdbc.jar拷贝到$JAVA_HOME/jre/lib/ext/下面即可. 这是jdk的个人问题

注意:1.我们这里是直接在weka.jar中修改的,修改完可以直接运行观测效果,但是如果要是在weka的源代码中修改的话,这需要重新生成weka.jar才能生效。
??? 2.我们这里链接的是sqlserver2005,要是连接其他数据库时,过程也是类似的。

??? 3.如果还有什么问题,可以发email给我:huzhyi21@163.com

?????????????????????????????????????????????????????????????????????????? written by huzhyi ,2009-04

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读