如何将sqlite数据库连接到weka

时间:2016-06-20 11:38:29

标签: sqlite weka

我试图将数据库从sqlite3导入weka,但问题是即使在加载并显示数据库之后,当我单击确定以便我可以开始使用数据库时,消息&#34 ;无法从数据库中读取:未知数据类型:文本"出现。我已经尝试修改DatabaseUtil.props文件,但似乎没有任何工作,所以如果有人能告诉我如何解决这个问题,我真的很感兴趣。感谢

2 个答案:

答案 0 :(得分:1)

我已阅读这些说明: https://waikato.github.io/weka-wiki/databases/#configuration-files

现在这是我的DatabaseUtils.props文件,请更改jdbcURL条目

# Database settings for sqlite 3.x
#
# General information on database access can be found here:
# https://waikato.github.io/weka-wiki/databases
#
# url:     http://www.sqlite.org/
# jdbc:    http://www.zentus.com/sqlitejdbc/
# author:  Fracpete (fracpete at waikato dot ac dot nz)
# version: $Revision: 5836 $

# JDBC driver (comma-separated list)
jdbcDriver=org.sqlite.JDBC,

# database URL
jdbcURL=jdbc:sqlite:/some/path/to/mydb.sqlite


# 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
#SQLITE DATATYPES
#NULL. The value is a NULL value.
null=9
#INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
integer=5
#REAL. The value is a floating point value, stored as an 8-byte IEEE floating point number.
float=6
#TEXT. The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE).

TEXT=9
text=9
#BLOB. The value is a blob of data, stored exactly as it was input.


# other options
CREATE_DOUBLE=DOUBLE
CREATE_STRING=varchar(2000)
CREATE_STRING=TEXT
CREATE_INT=INT
CREATE_DATE=DATETIME
DateFormat=yyyy-MM-dd HH:mm:ss
checkUpperCaseNames=false
checkLowerCaseNames=false
checkForTable=true



# All the reserved keywords for this database
# Based on the keywords listed at the following URL (2009-04-13):
# http://www.sqlite.org/lang_keywords.html
Keywords=\
  ABORT,\
  ADD,\
  AFTER,\
  ALL,\
  ALTER,\
  ANALYZE,\
  AND,\
  AS,\
  ASC,\
  ATTACH,\
  AUTOINCREMENT,\
  BEFORE,\
  BEGIN,\
  BETWEEN,\
  BY,\
  CASCADE,\
  CASE,\
  CAST,\
  CHECK,\
  COLLATE,\
  COLUMN,\
  COMMIT,\
  CONFLICT,\
  CONSTRAINT,\
  CREATE,\
  CROSS,\
  CURRENT_DATE,\
  CURRENT_TIME,\
  CURRENT_TIMESTAMP,\
  DATABASE,\
  DEFAULT,\
  DEFERRABLE,\
  DEFERRED,\
  DELETE,\
  DESC,\
  DETACH,\
  DISTINCT,\
  DROP,\
  EACH,\
  ELSE,\
  END,\
  ESCAPE,\
  EXCEPT,\
  EXCLUSIVE,\
  EXISTS,\
  EXPLAIN,\
  FAIL,\
  FOR,\
  FOREIGN,\
  FROM,\
  FULL,\
  GLOB,\
  GROUP,\
  HAVING,\
  IF,\
  IGNORE,\
  IMMEDIATE,\
  IN,\
  INDEX,\
  INDEXED,\
  INITIALLY,\
  INNER,\
  INSERT,\
  INSTEAD,\
  INTERSECT,\
  INTO,\
  IS,\
  ISNULL,\
  JOIN,\
  KEY,\
  LEFT,\
  LIKE,\
  LIMIT,\
  MATCH,\
  NATURAL,\
  NOT,\
  NOTNULL,\
  NULL,\
  OF,\
  OFFSET,\
  ON,\
  OR,\
  ORDER,\
  OUTER,\
  PLAN,\
  PRAGMA,\
  PRIMARY,\
  QUERY,\
  RAISE,\
  REFERENCES,\
  REGEXP,\
  REINDEX,\
  RELEASE,\
  RENAME,\
  REPLACE,\
  RESTRICT,\
  RIGHT,\
  ROLLBACK,\
  ROW,\
  SAVEPOINT,\
  SELECT,\
  SET,\
  TABLE,\
  TEMP,\
  TEMPORARY,\
  THEN,\
  TO,\
  TRANSACTION,\
  TRIGGER,\
  UNION,\
  UNIQUE,\
  UPDATE,\
  USING,\
  VACUUM,\
  VALUES,\
  VIEW,\
  VIRTUAL,\
  WHEN,\
  WHERE

# The character to append to attribute names to avoid exceptions due to
# clashes between keywords and attribute names
KeywordsMaskChar=_

#flags for loading and saving instances using DatabaseLoader/Saver
nominalToStringLimit=50
idColumn=auto_generated_id

答案 1 :(得分:0)

尝试将DatabaseUtils.prop文件放在Weka主目录中。此外,在文件中,您应该在相应的扇区中添加类似TEXT = 0或TEXT = 9的内容。