我有与Sybase IQ对话的jdbc代码。其中一个线程是将数据加载/更新到一个Sybase IQ表中,例如t1。在第一次完成加载/更新数据后,其他线程将尝试在表t1上触发SQL查询。
Write thread:
Create table t1, load/update data into t1, commit to t1.
Read thread(s):
Read select query from t1
我正在使用JDBC,我收到here
中提到的以下错误Transaction 156593 attempted to access an object created by transaction 156608.
-- (db_txnInfo.cxx 690)
Sybase error code=21, SQLState=”QDA11”
我不确定每次加载后我提交的问题在哪里。每个线程使用不同的连接读取线程仅触发select
查询然后问题在哪里我如何调试?请指导。我是Sybase IQ和JDBC的新手。提前谢谢。
答案 0 :(得分:0)
您可能需要在第二个线程中发出提交。或者对于只读线程集自动提交。
我很好奇,错误发生在第一次选择第二个帖子中,还是只发生 第一次选择?
在IQ中,即使是select语句也可以生成一个事务(它应该真正处理得更好,因为IQ应该创建"快照版本"为事务提供关于数据的纵向一致视图一个交易的生命......顺便说一下,智商有一些F $%@#$%ng丑疣)