我有一个结构,设置了对服务器上的WCF服务的多个服务调用。我每个调用都实例化了多个DbContexts。我希望将这些调用中的一些分组到服务器上的单个事务中,同时排除可能在同一时间发生的其他调用。这个是可能的吗?
我的上下文都是在单个服务器上的单个应用程序中管理的,并且所有上下文都使用相同的连接字符串。
我在找像这样的东西
var transKey = transService.BeginTransaction(); // creates a transaction of some kind.
service1.Execute(transKey); // on the server places
我试图使用SQL server 2000为单个Oracle链接服务器执行分布式事务,我想出了以下脚本:
BEGIN DISTRIBUTED TRANSACTION;
SET XACT_ABORT off;
GO
SELECT MAX(DEPTNO)+1,
FROM [WSF08_CONTA_ORADATA_II]..[SCOTT].DEPT
SET XACT_ABORT on;
GO
COMMIT TRANSACTION;
脚本一运行,我就会得到以下错误,然后是冻结和关闭连接。
Msg 7399,第16级,第1状态,第3行
用于链接服务器"OraOL
我有一个SQL Server 2008 RDS实例,我在本地计算机SQL server 2014上创建了一个链接服务器(AWSMSSQL)。
现在,我从本地计算机数据库表中创建了insert、update和delete触发器
USE [test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[ms_test] ON [dbo].[localservertable]
FOR INSERT, UPDATE, DELETE
AS
BEGIN
declare @iddata int;
我想从本地mssql 2005服务器向远程mssql 2005服务器插入触发器中的数据。
我有一个表Syr;我创建一个触发器(在插入后)来检测是否添加了什么。我想将这些数据复制到另一个远程服务器的同一个表中。我的问题是,如果我只在普通查询中执行insert语句(非常简单,只使用静态数据进行测试),它就成功了;我甚至可以从远程服务器中进行选择。但是当我将这个简单的插入插入到触发器块中时:“无法开始分布式事务”。
CREATE TRIGGER T_SyrInserted
ON [DBProba].[dbo].[Syr]
AFTER INSERT
AS BEGIN
INSERT INTO [Rem
我需要从MS SQL服务器通过ODBC向Oracle服务器提交一系列查询,并将结果作为表存储在MS SQL服务器上。
它必须是直通,因为查询需要在Oracle服务器上定义的服务器端函数。我不能将表保存在Oracle服务器上,然后通过ODBC访问它,因为Oracle上运行的数据库的供应商有许可限制。
下面是返回正确结果的代码,但我不知道如何保存它们:
DECLARE @BibID AS bigint
DECLARE BibList CURSOR FOR
SELECT BIB_ID FROM tblActiveSerialsThatHave740s
OPEN BibList
FET
我正在进行一个项目,在这个项目中,我有多个存储库,可以从不同的表中获取数据。我的所有存储库都是独立的,它们创建新的dataContext,将行添加到表中,并应用提交更改命令。现在,如果在我的服务中,有一种情况,我必须将数据插入多个表,但它应该发生在一个事务中。我可以使用TrnasctionScope实现这一点,但这需要相同的dataContext。由于我使用StrucutreMap创建对象,因此无法获得相同的数据上下文,因此事务失败。
我的对象是这样的。
interface IConnection
{
MyDataContext GetContext();
}
public class C
这可能是与DBA相关的,也可能与开发人员有关,老实说,我不知道。
我有两个数据库服务器:
A: SQL Server 2005 (Trigger that uses DBMail on Server B)
B: SQL Server 2008 R2 (DBMail configured)
我在服务器A中有一个表,其中电子邮件通知排队,我创建了一个“后插入”触发器来使用服务器B执行sp_send_dbmail,如下所示。
USE SampleDB
ALTER TRIGGER [dbo].[mail_inserted]
ON [dbo].[tblEmailQueue]
AFTER I
我已经在Server上创建了一个“后插入”触发器。
USE [CSPFContactCenter]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[SendSMS_INSERT]
ON [dbo].[tblSmsSend]
AFTER INSERT
AS
BEGIN
declare @Text nvarchar(max)
declare @MobileNumber nvarchar(max)
set @Text = (SELECT TOP 1 Text FROM tblSmsSe
我有一个要通过链接服务器执行的查询。该查询如下所示:
USE db1;
SET xact_abort ON;
DECLARE @statement NVARCHAR(max);
SET @statement = 'EXECUTE (''INSERT INTO T1(V1, V2) VALUES (1, 2)'') AT LS1';
BEGIN try
BEGIN TRANSACTION
EXEC Sp_executesql @statement
COMMIT TRANSACTION
END try
BEGIN
这里发生了一些非常奇怪的事情。
我只是在我正在调试的一些遗留代码周围添加了一个事务作用域,以确保我正在进行的摆弄不会被提交。
这起作用了两次,然后说:
"The transaction manager has disabled its support for remote/network transactions."
在工作/非工作状态之间没有任何代码更改或重建(字面意思是连续3个F5s的web应用程序)。这是连接到remove DB服务器的本地代码。
因此,在不同的项目中完全独立的代码会超时。如果我从这段代码中删除transactionScopes,它运行得很好,但是有了它们
当使用Websphere MQ (WMQ)时,这个问题主要集中在Websphere Application Server ( what )上,因为这是我最熟悉的。但是,我认为我所讨论的所有内容都适用于所有Java应用程序服务器,因为我坚持使用Java标准接口。我更希望得到与标准相关的解释,但对于WAS/WMQ的具体答案,我还是会非常兴奋。
JMS1.1定义了JMS与应用服务器接口的机制。粗略的过程是在某个时刻创建一个ConnectionConsumer来监视队列或主题。当消息出现时,JMS实现从ServerSessionPool获取一个ServerSessionPool对象,将消息加载到与Se
我在本地数据库中的SQL表上有一个非常简单的触发器。触发器看起来像这样:
ALTER TRIGGER [dbo].[trg_UpdateAzureDB]
ON [dbo].[my_local_table]
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trig
有人能告诉我如何在PostgreSQL上执行分布式事务吗?
我需要启动从节点x到节点y的事务(这个节点有一个数据库)。但是我在网上找不到我该怎么做的信息。
我所能做的就是一个分布式查询:
select dblink_connect
('conn','dbname=ConsultaRemota host=192.168.3.9
user=remoto password=12345 port=5432');
select * from dblink('conn','select * from tablaremota') as
t
我想更新链接服务器上的行。我使用指令在本地server上创建了链接服务器。
我可以用下面的代码更新查询分析器上的行。没有返回错误并成功地更新链接服务器上的行。
UPDATE [LinkedServer].[Database].[dbo].[Table]
SET A = 'A', B = 'B'
WHERE id = 1
但是,当我在本地sql服务器上为我的表创建一个更新触发器时,
ALTER TRIGGER [TriggerLocalServerTable]
ON dbo.[LocalServerTable]
FOR UPDATE
AS
D