1

我在通过 UCanAccess 将记录插入表时遇到问题。我的插入看起来像这样:

INSERT INTO [2015_02_24_15_52_29_926_test_schema] ( ... )

插入将由标准触发java.sql.Statement

UCanAccess 在内部转换 sql。这是结果:

INSERT INTO Z_2015_02_24_15_52_29_926_test_schema (...)

为什么UCanAccess 会在表名中添加“Z”?

我调试了代码,发现更改发生在UCanAccess 提供SQLConverter.escape(sql)的类中。SQLConverter

4

2 回答 2

2

UCanAccess 旨在支持像 2015_02_24_15_52_29_926_test_schema 这样的表名。为此,它需要使用内部命名重映射。在非常旧的版本中可能存在一些关于它的错误,但类似 ​​INSERT insert into [2015_02_24_15_52_29_926_test_schema] values(1,'f')在最新版本中运行良好(我刚刚尝试过 2.0.9.2 和 2.0.9.3)。

于 2015-02-24T19:28:03.853 回答
1

UCanAccess 不允许在表名的开头使用数字。

只需TBL_2015...用作您的表名。

于 2015-02-24T15:41:21.850 回答