![]() |
1
2
|
![]() |
2
4
是的,这是可能的。 不过,我不会在一个触发器中这样做:TXN将保持更长的开放时间,它是资源密集型的,如果它挂起会怎样。 你能通过存储过程更新吗? 或者将一行推送到由写入队列的SQL代理作业监视的轮询表中? |
![]() |
3
3
如果该程序集不受信任,您仍然可以从SQL Server访问它-它在本机不可用,必须手动导入并标记为“不受信任”本身。一段时间前,我在System.DirectoryServices中遇到了同样的问题。 关于System.DirectoryServices,这个人和您有相同的问题,但是以同样的方式执行create assembly语句应该允许您访问System.Messaging: |
![]() |
4
0
以下是关于如何处理这个旧问题的一些新想法: http://nginn.org/blog/?p=376 nginmessagebus是我的基于SQL Server的消息队列项目,目标是依赖SQL Server的.NET应用程序。 |
![]() |
5
0
很难通过推送技术进行交易。 唯一可以这样做的事务性选项是使用WCF桥,它要求依次使用SQL Server 2008,自2012年以来,由SQL Server宿主的clr阻止的基于WSDL的程序集的动态后台编译,我从未破解过如何强制编译这些程序集,以避免引用主机禁止的程序集。ed clr策略。 我找到的唯一可行的选择(可能是因为我没有找到解决方法)是使用httpclient restfull样式的网络客户端和clr集成过程,在SQL Server代理激活的过程之外工作。它只在一个问题上工作得很好,restfull不支持即时事务处理。因此,如果您需要保证消息的传递,那么您需要在消息流的某个地方进行支票呼叫。 实际上,为了保护msmq操作的完整性,我在restfull和msmq之间插入了一个事务性wcf服务,并在msmq使用的触发器上插入了事务性wcf服务,后者反过来具有策略驱动的事务性数据处理功能。请注意,msmq触发器需要安装msmq触发器功能。我选择了基于EXE的触发器,另一种方法是使用基于COM的DLL,而我不喜欢使用COM,因为自由线程DLL需要实现复杂的C++应用程序,而在线程中用CW设计的相对简单的BooLoad线程限制了应用程序的规模。最后,restfull调用可以被认为是“接近事务性的”,因为它是在事务上下文中执行的,并且除非您有一些严重错误,例如缺少捕获错误条件(基本上没有实现try/catch)和throw,否则在需要引发错误条件时,您将受益于可靠的commit/rol。拉贝克但是,用检查调用和合理的超时来加强,当丢失的数据被认为等于没有提交时,为了确保消息传递的可靠性,最好有。 |
![]() |
ybou · 需要帮助从SQL 2005查询中删除过时的=*连接运算符 7 年前 |
![]() |
Robert · 将多个分隔符分隔的字段视为不同的行 8 年前 |
![]() |
hud · 执行存储过程会导致错误 8 年前 |
![]() |
Gonzalo · 如何将存储过程的结果插入到新表中? 9 年前 |