首页 > 解决方案 > H2Database 为 SET IDENTITY_INSERT 提供错误

问题描述

我正在努力解决这个 belo 错误我使用 H2Database 进行单元测试。我SET IDENTITY_INSERT <SchemaName.table_name> ON/OFF;在我们的 DML .sql 文件中有。这在我们的生产 sql 服务器中工作得很好。但是这条线在 h2database 中失败了。H2 属性::

{
  "driverClass": "org.h2.Driver",
  "user": "test",
  "password": "test",
  "url": "jdbc:h2:mem:testdb;IGNORECASE=TRUE;DB_CLOSE_DELAY=-1;TRACE_LEVEL_FILE=3;TRACE_LEVEL_SYSTEM_OUT=3",
  "properties": {
    "charSet": "UTF-8",
    "mode": "MSSQLServer"
  }
}

错误 :

org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "SET IDENTITY_INSERT[*] mytable ON "; expected "@, AUTOCOMMIT, MVCC, EXCLUSIVE, IG
NORECASE, PASSWORD, SALT, MODE, COMPRESS_LOB, DATABASE, COLLATION, BINARY_COLLATION, UUID_COLLATION, CLUSTER, DATABASE_EVENT_LISTENER, ALLOW_LITERALS, DEFA
ULT_TABLE_TYPE, CREATE, HSQLDB.DEFAULT_TABLE_TYPE, PAGE_STORE, CACHE_TYPE, FILE_LOCK, DB_CLOSE_ON_EXIT, AUTO_SERVER, AUTO_SERVER_PORT, AUTO_RECONNECT, ASSE
RT, ACCESS_MODE_DATA, OPEN_NEW, JMX, PAGE_SIZE, RECOVER, NAMES, SCOPE_GENERATED_KEYS, SCHEMA, DATESTYLE, SEARCH_PATH, SCHEMA_SEARCH_PATH, JAVA_OBJECT_SERIA
LIZER, LOGSIZE, FOREIGN_KEY_CHECKS"; SQL statement:
SET IDENTITY_INSERT mytable ON [42001-199]

pom.xml::

 <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
         <version>1.4.199</version>
        <scope>test</scope>
  </dependency>

对此有任何帮助。

标签: sql-serverdatabaseh2

解决方案


推荐阅读