Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка 7391 DISTRIBUTED TRANSACTION  [new]
Andrej_D
Member

Откуда:
Сообщений: 33
В чем ошибка не могу понять
уже все перепробовал, работает до OPENQUERY
После этого ошибка 7391.

Я уже и включил DTC и форумы почитал, но так и не нашел как лекарства.
Может кто нить подскажет как заставить это заработать


SET XACT_ABORT ON	
EXEC sp_serveroption MySQL_Sales,N'remote proc transaction promotion','FALSE'
EXEC sp_serveroption MYSQL_CUSTOMERS,N'remote proc transaction promotion','FALSE'
 BEGIN DISTRIBUTED TRANSACTION T1

BEGIN TRY

	SET NOCOUNT ON;    
    declare @k_id int, @tr_id int
    declare @order_shop int
    declare @order_kid int
    declare @memo nvarchar (100), @rs nvarchar (300)
    declare @Rate money
	declare @body nvarchar (10) 
	declare @G_ID int, @Qty int, @FK_ID int,  @TK_ID int, @user int 
    
    declare g_cursor cursor
	for
		select distinct a.k_id, b.order_shop, b.order_k_id  from tbl_Order_Details as a  
		inner join tbl_Order_Wholesale as b on a.order_id=b.order_id
		where a.flag=1 and a.order_id=@Od_ID  order by a.k_id
    open g_cursor 
    
    fetch next from g_cursor into @k_id, @order_shop, @order_kid
    
    While @@fetch_status = 0  
	begin 
		exec add_into_tbl_Trans @date, @k_id, 13, 6278, 11, @memo, @Rate, @order_kid, @tr_id=@tr_id out
		
           
			Delete from tbl_tmp_ExcelCopy
			Delete from tbl_tmp_NoInRest
			
			insert into tbl_tmp_ExcelCopy 
                  select g_id, G_Name, qty, price from dbo.tbl_Order_Details where order_id=@OD_ID  and k_id=@k_id and flag=1
             
            set @rs =  'select  TOP 100 PERCENT  * from List_GoodsInv_WithQtyKons(' + cast (@k_id as nvarchar(6)) +',''' + cast (GetDate() as nvarchar(30)) + ''') ORDER BY G_Name, Tr_Date, K_Name'      
            exec sp_importexcel @rs, 1, @tr_id
					
		
		
		set @FK_ID = (SELECT dbo.tbl_Trans.FK_ID FROM  dbo.tbl_Trans where dbo.tbl_Trans.Tr_ID=@Tr_id)

		
				set @user=  Case system_user 
								when 'kba' then 174
								else 9999
							End 
				
				If @fk_id = 10703 Or @fk_id = 10805 Or @fk_id = 10865 Or @fk_id = 10862 
				begin
					
					INSERT INTO OPENQUERY(MYSQL_CUSTOMERS, 'select description,g_id, datum, qty, ko_from, ko_to, reason, deka_user, status, trans_id, ko_for from goods_transfer') 
					(description,g_id, datum, qty, ko_from, ko_to, reason, deka_user, status, trans_id, ko_for) 
					(SELECT     dbo.tbl_Trans.Memo, dbo.tbl_GoodsInv.G_ID, getdate(), dbo.tbl_Spec.Qty, dbo.tbl_Trans.FK_ID, dbo.tbl_Trans.TK_ID, '1', 
								@user, '0', @Tr_id, @order_kid
					FROM         dbo.tbl_GoodsInv INNER JOIN
					dbo.tbl_Spec ON dbo.tbl_GoodsInv.Inv_ID = dbo.tbl_Spec.Inv_ID INNER JOIN
					dbo.tbl_Trans ON dbo.tbl_Spec.Tr_ID = dbo.tbl_Trans.Tr_ID
					where dbo.tbl_Trans.Tr_ID=@Tr_id)
                 end
                 Else
                 begin
					
					INSERT INTO OPENQUERY(MySQL_Sales, 'select g_id, datum, qty, ko_from, ko_to, reason, deka_user, status from goods_transfer') 
					(g_id, datum, qty, ko_from, ko_to, reason, deka_user, status) 
					(SELECT  dbo.tbl_GoodsInv.G_ID, getdate(), dbo.tbl_Spec.Qty, dbo.tbl_Trans.FK_ID, dbo.tbl_Trans.TK_ID, '1', @user, '0'
					FROM         dbo.tbl_GoodsInv INNER JOIN
					dbo.tbl_Spec ON dbo.tbl_GoodsInv.Inv_ID = dbo.tbl_Spec.Inv_ID INNER JOIN
					dbo.tbl_Trans ON dbo.tbl_Spec.Tr_ID = dbo.tbl_Trans.Tr_ID
					where dbo.tbl_Trans.Tr_ID=@Tr_id)
                 end
				
			

		fetch next from g_cursor into @k_id, @order_shop, @order_kid
	end 
    
	CLOSE g_cursor
	DEALLOCATE g_cursor  
	
	
end try

BEGIN CATCH
	ROLLBACK TRANSACTION T1
	
	print @@error
	
	RETURN 

END CATCH

COMMIT TRANSACTION T1


Сообщение было отредактировано: 19 май 14, 18:58
19 май 14, 18:10    [16038746]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 7391 DISTRIBUTED TRANSACTION  [new]
Glory
Member

Откуда:
Сообщений: 104751
А что MySQL поддерживает распределенные транзакции ?
19 май 14, 18:17    [16038788]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 7391 DISTRIBUTED TRANSACTION  [new]
Andrej_D
Member

Откуда:
Сообщений: 33
за My Sql у нас отвечает удаленный админ.
Уточню у него, никогда не сталкивался.
А вообще может работать в такой связке? и как это настроить?
19 май 14, 18:25    [16038844]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка 7391 DISTRIBUTED TRANSACTION  [new]
Анатолий Котелевец
Member

Откуда: Таган
Сообщений: 17
Andrej_D,

Вам удалось решить проблему?
30 июл 14, 15:49    [16377729]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить