Java 如何使用Derby创建内存中的数据库表?

Java 如何使用Derby创建内存中的数据库表?,java,jdbc,derby,javadb,in-memory-database,Java,Jdbc,Derby,Javadb,In Memory Database,我想使用Derby/JavaDB创建一个内存中数据库,用于测试目的。我已经在“构建路径”中使用JDK7中的derby.jar阅读并测试了这段代码: 但在运行应用程序时,我遇到以下错误: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "<EOF>" at line 1, column 66. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQ

我想使用Derby/JavaDB创建一个内存中数据库,用于测试目的。我已经在“构建路径”中使用JDK7中的
derby.jar
阅读并测试了这段代码:

但在运行应用程序时,我遇到以下错误:

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "<EOF>" at line 1, column 66.
    at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
    at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
    at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
    at DBTest.main(DBTest.java:12)
Caused by: java.sql.SQLException: Syntax error: Encountered "<EOF>" at line 1, column 66.
    at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
    ... 14 more
Caused by: ERROR 42X01: Syntax error: Encountered "<EOF>" at line 1, column 66.
    at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
    at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown Source)
    at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
    at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
    at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
    ... 8 more
java.sql.SQLSyntaxErrorException:语法错误:在第1行第66列遇到“”。
位于org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(未知源)
位于org.apache.derby.impl.jdbc.Util.generateCsSQLException(未知源)
位于org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(未知源)
位于org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(未知源)
位于org.apache.derby.impl.jdbc.EmbedConnection.handleException(未知源)
位于org.apache.derby.impl.jdbc.ConnectionChild.handleException(未知源)
位于org.apache.derby.impl.jdbc.EmbeddePreparedStatement。(未知源)
位于org.apache.derby.impl.jdbc.EmbeddePreparedStatement20。(未知来源)
位于org.apache.derby.impl.jdbc.EmbeddePreparedStatement30。(未知来源)
位于org.apache.derby.impl.jdbc.EmbeddePreparedStatement40。(未知来源)
位于org.apache.derby.jdbc.Driver40.newEmbeddePreparedStatement(未知源)
在org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(未知源代码)
在org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(未知源代码)
位于DBTest.main(DBTest.java:12)
原因:java.sql.SQLException:语法错误:在第1行第66列遇到“”。
位于org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(未知源)
位于org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapargsforttransportacrossdrda(未知源)
... 14多
原因:错误42X01:语法错误:在第1行第66列遇到“”。
位于org.apache.derby.iapi.error.StandardException.newException(未知源)
位于org.apache.derby.impl.sql.compile.ParserImpl.ParserStatement(未知源)
位于org.apache.derby.impl.sql.GenericStatement.prepMinion(未知源)
位于org.apache.derby.impl.sql.GenericStatement.prepare(未知源)
位于org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(未知源)
... 8个以上

如何使用Derby/JavaDB创建内存中的数据库表?

我认为您缺少了结尾未记录的内容:

  declare global temporary table SESSION.t1(c11 int) not logged;
  declare global temporary table SESSION.t1(c11 int) not logged;