收录日期:2019/04/24 20:37:49 时间:2016/05/30 10:06:24 标签:应用实例
当我在客户端向服务器端插入数据的时候,系统提示错误:
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
我在客户端与服务器端都启动了分布式服务,那么为什么还出现这样的问题呢?
关注
嗨,我发现我的问题都是超难型的,别人根本没遇到过的.郁闷.
这是个问题
重装操作系统后再装数据库吧!我碰到过的,只能这样才能解决!别浪费时间了
能否贴出代码来看看,如果只是针对单一的服务器,应该不用分布式的,是不是服务器的表上有触发器去执行分布式事务?
能否贴出代码来看看,如果只是针对单一的服务器,应该不用分布式的,是不是服务器的表上有触发器去执行分布式事务?
我的是局域网内的数据库。是分布式的。
分布服务的启动帐号不要是本地系统帐号
是不是同时更新两台服务器上的数据,并且添加事务???
如果是局域网可以实现,
但在internet 上这是个绝症,我查阅了无数篇文章,无法搞定·
给你一例:局域网可以实现的。
CREATE PROCEDURE gsh_TransferData_down(@dwbh varchar(2)) AS
declare @ssql varchar(400)
declare @serverip varchar(20)
declare @password varchar(40)
--declare @dwbh varchar(2)
--select @dwbh='06'

set XACT_ABORT on
set REMOTE_PROC_TRANSACTIONS on
if @dwbh='00' goto finish
DECLARE curName CURSOR  for 
select top 1 值 from 常量 where 项='服务器ip' and 单位=@dwbh
OPEN curName
WHILE 1 = 1
BEGIN
       FETCH NEXT FROM curName INTO @serverip
          IF @@fetch_status <> 0  BREAK
      END
close curName
DEALLOCATE curName

DECLARE curName CURSOR  for 
select top 1 值 from 常量 where 项='密码' and 单位=@dwbh
OPEN curName
WHILE 1 = 1
BEGIN
       FETCH NEXT FROM curName INTO @password
          IF @@fetch_status <> 0  BREAK
      END
close curName
DEALLOCATE curName

begin distributed transaction t1


select @ssql='insert into recieveSql(发送单位,语句,接收单位,操作表,接收时间,原编号,类型,操作员,文件)
SELECT 发送单位,语句,'','+@dwbh+','',操作表,getdate(),编号,类型,操作员,文件 FROM 
OPENROWSET(''MSDASQL'', ''Driver=SQL Server;Server='+@serverip+';UID=sa;PWD='+@password+''',transferERP.dbo.sendsql)
where 接收单位 like ''%,'+@dwbh+',%'' and 执行单位 not like ''%,'+@dwbh+',%'' order by 编号'
--print @ssql
exec (@ssql)

select @ssql='update OpenRowset(''MSDASQL'', ''Driver=SQL Server;Server='+@serverip+';UID=sa;PWD='+@password+''',transferERP.dbo.sendsql) 
set 执行单位=执行单位+(case 执行单位 when '''' then '','+@dwbh+','' else '''+@dwbh+','' end) where 接收单位 like ''%,'+@dwbh+',%'' and 执行单位 not like ''%,'+@dwbh+',%'''

--print @ssql
exec (@ssql)

if @@error<>0 goto err
commit tran t1
goto finish

err:
rollback tran t1

finish:
set XACT_ABORT off
set REMOTE_PROC_TRANSACTIONS off
GO

关于sco unix下的curses编程问题:急,,,谁能教教我???? 有没有人知道NOVELL的NetMail这个产品,这个产品的界面很难看,听人说是可以使用NOVELL的工具可以换的,谁知道用什么样的工具可以换呢? 怎样在浏览器里调用word? 请问有谁知道如何可以让一个textarea随着窗口的扩大而扩大?? 谁有OPC相关资料,原代码更好,渴望交流!!!!! 程序员的困惑 使用sqlldr 在oracle7和oracle8i之间导数据时碰到日期格式的问题? 寻求学习资料 维护一个局域网应该注意哪些问题???? 两个asp函数改成asp.net后要怎么写? 用户权限的编程思想的交流???? 各位大侠:数据库问题,急急急.... 新手上路! Datasource应该如何设?在线等待,高分相送! session有时效性吗?怎么设置? 在局域网中如何提高文件的传输效率(采用ip/tcp)? javascript:void(0)的含义? 重新问:创建子域过程中出现的错误! 这样的查询字符串该怎么写,大虾请进 在另一个线程中无法用((CMainFrame *)AfxGetMainWnd()),高手支招! serialization翻译成中文是什么? 关于linux下C编程的问题 ?怎么得到my desktop的图标? 我修改了邮件模版,造成有时候某些用户的邮箱文件的存取控制权限总是丢失! 请问如何制作帮助文件(hlp格式)? HP-UX下,想用指纹验证来替代系统登录密码,该如何做 页面间参数传递问题~~我太郁闷了 Winsock控件大问题,高手请进! 启动两三分钟后提示:在系统启动时至少有一个服务或驱动程序产生错误。详细信息,请使用事件查看器查看事件日志。 在C#中如何读取CPU的工业系列号?(就是那个唯一的编号)