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 に答える