2

我的情况:我与许多 RPG 程序员一起工作,他们在 IBM-i 上以不创建日志的方式创建文件。我创建了一个 Grails 应用程序,它使用 db2 jdbc 驱动程序连接到文件并更新、插入等。我收到一个错误:

com.ibm.db2.jdbc.app.DB2DBException: MYFILE in MYLIB not valid for operation.
  Cause . . . . . :   The reason code is 3 .  Reason codes are:
  ...blah blah blah...
  3 -- MYFILE not journaled, no authority to the journal, or the journal state is *STANDBY.  Files with an RI constraint action of CASCADE, SET NULL, or SET DEFAULT must be journaled to the same journal. 
  ...blah blah blah...

我知道我可以开始用 STRJRNPF 记录文件,但我不想跟上它(请不要责骂)。是否有我可以设置的 db2 jdbc 连接 url 的参数让它知道不要尝试提交?

这是我当前的连接信息:

dataSource
{
  dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
  pooled = true
  url = "jdbc:db2:*local;naming=system;libraries=LIBS;errors=full"
  driverClassName = "com.ibm.db2.jdbc.app.DB2Driver"
  username = "user"
  password = "pass"
  dialect = org.hibernate.dialect.DB2400Dialect.class
}

编辑:这是我尝试过的:

url = "jdbc:db2:*local;naming=system;libraries=LIBS;errors=full;transaction isolation=none"
4

2 回答 2

1

最后,这确实与 Grails/Hibernate 有关。这是数据源最终的样子:

dataSource
{
  dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
  pooled = true
  url = "jdbc:db2:*local;naming=system;libraries=LIBS;errors=full;transaction isolation=none"
  driverClassName = "com.ibm.db2.jdbc.app.DB2Driver"
  username = "user"
  password = "pass"
  dialect = org.hibernate.dialect.DB2400Dialect.class
  properties{                      
    defaultTransactionIsolation = 0
  }
}

感谢@Buck Calabro 的评论和这个问题

于 2013-03-08T21:50:12.993 回答
-1

你认为“跟上它”意味着什么?默认情况下,系统会为你做很多日记管理。欢迎使用 IBM i。;-)

于 2013-03-08T20:41:44.727 回答