我一直在努力一点,以便使用853扩展库中的JDBC从XPages更新和删除DB2中的记录。在XPages中不能与DB2一起使用的更新和删除
首先,我可以确认@JDBCInsert完美工作。我也可以用许多不同的方式查看来自DB2的数据。但是,尝试执行更新或删除时,它不起作用。
我的第一次尝试是使用JDBCRowSet数据源。这里的想法是使用缓存结果集,然后最终将更改提交到DB2。我能够操纵缓存结果通过修改值,并执行删除设置,但是当我运行dataset.acceptChanges()函数,收到以下消息:
错误调用方法“在acceptChanges()”上的Java类'com.ibm.xsp.extlib.jdbc.model.JdbcRowSetAccessor'
从Log另一条消息是:
DB2 SQL错误:SQLCODE = -270,SQLSTATE = 42997,则sqlerrmc = 53,DRIVER = 3.57.82
我是以管理员身份登录到DB2,因此它不能成为访问问题,特别是因为我可以插入记录。我尝试使用连接管理器控制并设置AutoCommit = true,但这不会更改返回的错误。
因此,我的下一个尝试是使用@JDBCUpdate执行更新,而不是使用缓存的结果集。此功能不起作用,但也不返回错误。就好像它什么都不做。
最后,我试图使用@JDBCExecuteQuery来执行更新,但是我收到一条消息,说我不允许使用此函数执行更新。
这里是什么,我尝试了一些例子,失败:
//下面是我想改变我解析为JSON的价值观。
var v = {
VENUE_NAME: getComponent("inputVenue").getValue(),
ADDRESS: getComponent("inputTextareaAddress").getValue(),
TEL_NUMBER: getComponent("inputTelNumber").getValue(),
CELL_NUMBER: getComponent("inputCellNumber").getValue(),
EMAIL: getComponent("inputEmail").getValue(),
RATE: getComponent("inputRate").getValue(),
INCLUDES: getComponent("checkIncludes").getValue()
}
@JdbcUpdate( “DB2”, “TABLE”,V, “ID = 123”);
@JdbcUpdate(“db2”,“TABLE”,v,“ID ='123'”);
//此插入函数使用相同的JSON数组。
@JdbcInsert(“db2”,“TABLE”,v);
//我用这个试图提交使用行集,它返回上述错误消息
JDBCRowSet.acceptChanges()中的更改时;
我已经花了相当多的时间用这个,现在我的脑海里浮现出来。
请帮忙。 提前感谢您。
嗨。我会在星期一检查一下。非常感谢您的反馈。 – 2012-02-10 08:59:42
谢谢。我错过了? – 2012-02-17 05:20:41
很高兴解决。 – 2012-02-22 15:11:10