因为我正在将我的 concoction DB 转换为 netbeans 中的 derby 所有语句都发生错误。
错误就是它
java.sql.SQLSyntaxErrorException: table or view does not exist.
要解决问题必须更改所有属性和表名称 将其放在括号之间
例如
st.executeQuery("SELECT * FROM loges ");
无法运行其语法错误 必须更改为
st.executeQuery("SELECT * FROM \"loges\" ");
然后就可以正常使用了 做这件事非常困难,我有 137 个查询语句包含很多 表和属性名称。
我正在进行此更改,因为将我的项目提取到可执行桌面程序 如果可以用其他方式做到这一点会很好
最佳答案
如果您的代码使用所有不带引号的表和列名称,则应使用不带引号的名称创建数据库架构。
如果您现在遇到问题,那么您的新数据库是使用带引号的名称创建/迁移的。解决这个问题,您的代码将保持不变。
请注意,数据库以不同方式对待未加引号的名称,例如Oracle 会将名称更改为大写,PostgreSQL 会将名称更改为小写,MS SQL Server 将存储给定的名称,但默认情况下将不区分大小写地匹配它们。
关于java - 当我将冷漠服务器数据库转换为 Derby 数据库时如何解决这些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43987206/