gpt4 book ai didi

java - 在内存数据库中创建 Derby SQLSyntaxException

转载 作者:行者123 更新时间:2023-12-01 04:21:29 25 4
gpt4 key购买 nike

我正在尝试创建一个 Derby in Memory DB 进行测试,以镜像我们使用的 Oracle 数据库。我尝试执行我们用来设置 Oracle 数据库的第一个脚本,但我收到了 SQLSyntaxException。

Maven:

<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.10.1.1</version>
</dependency>

代码:

private static String sqlStatement ="set echo on\n" + 
"set feedback on\n" +
"set serveroutput on\n" +
"var start_date varchar2(80);\n" +
"var start_date varchar2(80);\n" +
"var end_date varchar2(80);\n" +
"var sid varchar2(10);\n" +
"var host varchar2(30);\n" +
"var user varchar2(30);\n" +
"spool DS_Create_Schema.log;\n" +
"\n" +
"begin\n" +
" select to_char(sysdate, 'mm-dd-yyyy hh24:mi:ss') into :start_date from dual;\n"
...

final String sql = sqlStatement;
final String connURL = "jdbc:derby:memory:memdatabase;create=true";
Connection conn = null;
try {
conn = DriverManager.getConnection(connURL);
PreparedStatement ps = conn.prepareStatement(sql);

boolean success = ps.execute();
System.out.println("Memory database created: " + success);


} catch (SQLException e) {...

最佳答案

Derby 不支持您的大部分 Oracle SQL*PLus,您必须将其转换为更标准的 SQL。

关于java - 在内存数据库中创建 Derby SQLSyntaxException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18859521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com