无法启动 Weka - 出现错误

Cannot start Weka - getting error

我已经成功安装了 Weka 并需要它来连接到我们的 MS SQL 服务器。但是当我启动 Weka 时,出现以下错误:

# java -Xmx1000M -jar weka.jar
---Registering Weka Editors---
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH?

我在哪里可以获得 .jar 或 lib 文件,而我只有下面列出的 .jar 文件:

# find . -name "*.jar"
./weka.jar
./weka-src.jar
./remoteExperimentServer.jar
[weka-3-6-12]#

我还需要安装什么到 运行 Weka 成功。

根据下面的评论,这是我的 "weka/experiment/DatabaseUtils.props" 文件的内容:

# grep -i idbDriver weka/experiment/DatabaseUtils.props

#jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver
#jdbcDriver=jdbc.idbDriver
#jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver,org.gjt.mm.mysql.Driver,com.mckoi.JDBCDriver,org.hsqldb.jdbcDriver

由于每一行都以“#”开头且具有 jdbc.idbDriver,因此我相信这些行是注释。我的理解是否正确 - 我也相信这个可以忽略的警告/错误。

但是请告诉我需要做哪些更改才能将 Weka 连接到 MS SQL 数据库?

要通过 weka 启用与 MSSQL 的连接,请执行以下操作: (如果你在 windows,请执行 this

  1. 创建启动脚本
  2. 创建一个 DatabaseUtils.props 文件

这是我的开始脚本。请注意 $CP 变量是如何设置的。这包含 jtds.jar 文件的完整路径,该文件包含 MSSQL 的 jdbc 驱动程序。

#!/bin/bash
WEKA_HOME=/opt/smallapps/weka-stable/weka
export WEKA_JAR=$WEKA_HOME/weka.jar
export PATH=$WEKA_HOME:$PATH
CP="/usr/share/java/:/opt/dbvis9/jdbc/jtds/jtds.jar:/opt/database/sqlite/sqlite-jdbc.jar:$WEKA_JAR"
echo "used CLASSPATH: $CP"
DIR=/opt/smallapps/weka-stable/data/
echo "changing to '$DIR'"
cd "$DIR"
export WEKA_HOME=$DIR
# start Weka's small GUIChooser window
java -cp $CP -Xmx500m weka.gui.GUIChooser &

这是我的 DatabaseUtils.props 文件的开头,注释已删除,存储在其默认位置。 我的完整路径:/opt/smallapps/weka/wekafiles/DatabaseUtils-mssql.props, 链接到 /opt/smallapps/weka/wekafiles/DatabaseUtils.props

jdbcDriver=org.sqlite.JDBC,net.sourceforge.jtds.jdbc.Driver

jdbcURL=jdbc:jtds:sqlserver://dbhost.mycompany.com:1433;DatabaseName=master

varchar=0
float=2
numeric=2
tinyint=3
int=5
bigint=6
nvarchar=9
nchar=9
char=9
decimal=2
bit=1
smallint=5
date=8

我在此处添加了一个屏幕截图,其中包含要单击的按钮。

请注意,没有 "Connection successful" 条消息。控制台中只会出现黄色三角形消息 window。 (红色 X - 连接失败时的图标)

Microsoft 的连接 URL 文档 here

您可以尝试以下步骤。它也适用于我,但适用于 MySQL。它在 MSSQL 中可能类似。我尝试针对 MSSQL 进行编辑。

1- 从 this link 下载所需的连接器。

2- 根据你的 Java 版本 "mssql-jdbc-9.2.1.jre8.jar, mssql-jdbc-9.2.1.jre11.jar, mssql-jdbc-9.2.1.jre15.jar”(它们包含在“sqljdbc_9_2\enu”文件夹中)将文件复制到“Weka”文件夹。你可以全部复制。

3- 然后你必须在“环境变量”中以大写字母输入 CLASSPATH 值。如果您正在使用 Windows 7,您将已经看到 CLASSPATH。但是,如果您使用的是 Windows10,则可能需要手动添加。在我的电脑上是这样的:

4- 将 DatabaseUtils.probs 文件复制到 Weka 文件夹。该文件允许您将数据库中的数据类型与 Weka 自己的数据类型相匹配。如果某些数据类型不匹配,则必须在此文件中进行设置。

5- 然后你必须从开始菜单打开 Weka。当您从控制台打开它时它不起作用。反正你不需要控制台。您可以在 Weka 文件夹中的“RunWeka.ini”中设置 RAM 内存量。

6- 单击“打开数据库”。在屏幕上输入信息如下。请记住,如果密码不正确,JDBC 驱动程序错误仍可能发生。