使用处理

时间:2018-11-06 10:24:09

标签: java database ms-access processing

我正在尝试使用处理(v3.4 Windows64)连接到本地Microsoft Access数据库。

根据之前的答案(Manipulating an Access database from Java without ODBC),我已经从此处(http://ucanaccess.sourceforge.net/site.html)下载了UCanAccess库,当前版本为4.0.4

它包括ucanaccess-4.0.4.jar,并且在lib文件夹下:commons-lang-2.6.jarcommons-logging-1.1.3.jarhsqldb.jarjackcess-2.1.11.jar

这是我正在运行的简单草图代码:

import java.sql.*;

void setup() {
  size(640, 360);  // Size must be the first statement
  stroke(255);     // Set line drawing color to white
  frameRate(30);

  try{

    Connection conn=DriverManager.getConnection("jdbc:ucanaccess://D:/Dati/Profili/M030098/Documents/Database1_test.accdb");
    Statement s = conn.createStatement();
    ResultSet rs = s.executeQuery("SELECT * FROM tab_one");
    while (rs.next()) {
        System.out.println(rs.getString(1));
    }

  }catch(Exception e){
     e.printStackTrace();
  }
}

我不确定在我的草图中正确导入5个库。没有它们,catch块将返回此消息:

  

java.sql.SQLException:找不到jdbc:ucanaccess:// C:/ ...我文件夹的路径... /Documents/Database1_test.accdb

的合适驱动程序

如果我将应付它们的5个JAR导入Processing\libraries文件夹中,然后将行import hsqldb.jar;import hsqldb.*;添加到我的草图中,则结果是此控制台错误:

  

找不到hsqldb的库
  库必须安装在Sketchbook文件夹内名为“ libraries”的文件夹中(请参见“首选项”窗口)。

我发现的唯一有线方式是在库内创建一个专用文件夹,其名称与jar相同,包括jar的库子文件夹。他们全部都被重命名,删除了所有数字和破折号(见图)。 这样,库名称就可以在sketch > import library下使用,如果选择了库名称,则可以向草图添加几条新的包含线(48)。

其中一个(import org.apache.commons.lang.enum.*;)导致错误:Syntax error on token "enum", Identifier expected.

enter image description here

我刚考虑使用import org.apache.commons.lang.*;注释了这一行。

结果,发生新错误,引用到行

Statement s = conn.createStatement();
  

the type Statement is ambiguous

然后我寻找了图书馆冲突,并也评论了import org.hsqldb.*;

现在它似乎可以正常工作,我可以以一种非常混乱的方式检索我的表信息。

是否有只导入5个库的正确方法?

更新

根据Kevin Workman的建议,也可以在草图窗口中拖放JAR文件,并在草图文件夹中自动创建一个code文件夹,其中包括拖放的文件。

它包括所有软件包,不需要任何代码行,无论如何,此过程有两个缺点:

  1. 由于在幕后它在草图文件夹中创建了一个code文件夹,因此只为一个草图导入软件包,而不是“全局”库文件夹,因此需要将其复制每个草图。

  2. 在导入软件包后,我注意到了两个错误:一个是由于org.apache.commons.lang.enum.*使用专用词enumorg.hsqldb.*导致冲突中的Statement对象的定义与另一个图书馆。拖放技术不允许选择要排除的单个库来解决这些错误。

1 个答案:

答案 0 :(得分:0)

我知道将.jar文件导入到Processing草图中的最简单方法是.jar文件拖放到Processing编辑器中。

dragging jar onto Processing editor

对您的5个.jar文件执行此操作。如果您对它在幕后的操作感到好奇,请在进行拖动后查看草图目录。

无耻的自我推广:here是有关在Processing中使用库的教程。