首页 新闻 搜索 专区 学院

SQl触发器调用函数报错

0
悬赏园豆:80 [已解决问题] 解决于 2015-01-08 14:29
false:System.Data.SqlClient.SqlException: 其他会话正在使用事务的上下文。     
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)     
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)     
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)     
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)     
在 System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest)     
在 System.Data.SqlClient.SqlInternalConnectionTds.PropagateTransactionCookie(Byte[] cookie)     
在 System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)     
在 System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx)     
在 System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction)    
在 System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)     
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)     
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)     
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)     
在 System.Data.SqlClient.SqlConnection.Open()     
在 MySync.SyncDataBase.Sync(String strSql)

我在弄两个数据库同步数据的时候,到了触发器这里,出现了这个错误,一直解决不了,求帮助。

http://www.cnblogs.com/zhongxinWang/p/4208143.html

FreeSaber的主页 FreeSaber | 初学一级 | 园豆:85
提问于:2015-01-07 21:59
< >
分享
最佳答案
0

感觉上是想抓着自己的头发离开地球的样子,结果头发不答应了。

触发器这样用会陷入无限循环吧,估计是不能这样用的。

收获园豆:20
爱编程的大叔 | 高人七级 |园豆:30753 | 2015-01-08 10:19

是我触发器那里写的有问题吗?我的想法是Source表发生变动,触发器中调用fun_sync函数,然后通过函数执行DLL,在DLL里面同步远程数据库的Target表。无限循环的问题出现的了什么位置呢?

FreeSaber | 园豆:85 (初学一级) | 2015-01-08 10:24

@FreeSaber: 我只是感觉而已。

你一步步试试。

1、先只用触发器,看看出不出错。

2、不出错,试试在触发器中调用你的过程,但是先简化。

3、你的这个错误显示,看起来象是资源占用冲突造成的。

爱编程的大叔 | 园豆:30753 (高人七级) | 2015-01-08 10:41
其他回答(3)
0
收获园豆:20
Yu | 园豆:12950 (专家六级) | 2015-01-08 08:38
0

代码有错误

收获园豆:20
WesternWind | 园豆:7 (初学一级) | 2015-01-08 09:19
0

感觉是事物冲突了。具体应该看代码才能知道吧。。

收获园豆:20
幻天芒 | 园豆:36662 (高人七级) | 2015-01-08 09:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册