exec sp_addlinkedserver 'ITSV', ' ', 'SQLOLEDB', '192.168.0.1'
exec sp_addlinkedsrvlogin 'ITSV', 'false',null, 'sa', '' create proc insert_book
as
declare
@consaddress1 varchar(150),
@invoicenum1 varchar(15),
@tel1 varchar(50),
@consunit1 varchar(100),
@conmode1 varchar(50),
@boxnum1 varchar(10),
@ConTime1 varchar(8),
@sign1 varchar(2),
@min_id int,
@max_id int,
@i int
begin
BEGIN TRANSACTION
select @min_id=min(id) from ITSV.cof.dbo.t_test;
select @max_id=max(id)+1 from ITSV.cof.dbo.t_test;
set @i=@min_id;
while @i<@max_id
begin
select @consaddress1=consaddress,@invoicenum1=invoicenum,@tel1=tel,@consunit1=consunit,@conmode1=conmode,@boxnum1=boxnum,
@ConTime1=ConTime,@sign1=sign from ITSV.cof.dbo.t_test where id=@i;
insert into t_invoiceInfo values(@invoicenum1,@tel1,@consaddress1,@consunit1,@conmode1,@boxnum1,@ConTime1,@sign1)
set @i = @i+1
end
COMMIT TRANSACTION
end在我执行exec insert_book 的时候出现错误 错误代码为
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。谁能帮我解决下吗? 谢谢了
exec sp_addlinkedsrvlogin 'ITSV', 'false',null, 'sa', '' create proc insert_book
as
declare
@consaddress1 varchar(150),
@invoicenum1 varchar(15),
@tel1 varchar(50),
@consunit1 varchar(100),
@conmode1 varchar(50),
@boxnum1 varchar(10),
@ConTime1 varchar(8),
@sign1 varchar(2),
@min_id int,
@max_id int,
@i int
begin
BEGIN TRANSACTION
select @min_id=min(id) from ITSV.cof.dbo.t_test;
select @max_id=max(id)+1 from ITSV.cof.dbo.t_test;
set @i=@min_id;
while @i<@max_id
begin
select @consaddress1=consaddress,@invoicenum1=invoicenum,@tel1=tel,@consunit1=consunit,@conmode1=conmode,@boxnum1=boxnum,
@ConTime1=ConTime,@sign1=sign from ITSV.cof.dbo.t_test where id=@i;
insert into t_invoiceInfo values(@invoicenum1,@tel1,@consaddress1,@consunit1,@conmode1,@boxnum1,@ConTime1,@sign1)
set @i = @i+1
end
COMMIT TRANSACTION
end在我执行exec insert_book 的时候出现错误 错误代码为
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。谁能帮我解决下吗? 谢谢了
解决方案 »
- 触发器
- sql2000可以修改实例名吗?
- sql列出表所有字段,如何写啊
- 求一条关于二个DATETIME类型的时间差的SQL语句
- 求助全文检索 服务器: 消息 7609,级别 17,状态 2,过程 sp_fulltext_database,行 46
- sqlserver2000中有一个数据库(网站)的连接数总是超限(先不管网站程序上事情),请问如何在sqlserver中手工释放连接数?谢谢
- 求助:SQL Server中建视图的问题
- SQL Server 2008 数据库同步的问题无法请求订阅只能推送订阅
- 如何得到sqlserver的执行计划
- 急!!!!!!!!!一个查询问题
- 寻找03年发帖的前辈。求助解决方案。如何在DTS中根据当前时间动态指定导入导出的表名?
- SQL分类汇总问题
exec sp_addlinkedsrvlogin 'ITSV', 'false ',null, 'sa', 'sa'
--查看链接服务器
sp_helpserver
EXEC sp_serveroption 'ITSV','rpc out','TRUE'
在开始分布事务前,需要
set xact_abort on
begin tran
...
commit tran