日期:2014-05-17  浏览次数:20426 次

十万火急,请教各位大师,“访问接口无法用于分布式查询”
declare ImpCursor cursor for 
select WDS.MeterNo  as  MeterNo, f_meterday_date, f_meterday_used  as  Qty

 from openrowset('msdaora','.';'scott';'123456','select  f_meter_code, f_meterday_date, f_meterday_used  from  t_rp_meter_dayenergytemp')   as  DS  

 left  join  WaterDatasSetting    WDS
 on  DS.f_meter_code=WDS.JDMeterNo 
 where   f_meter_code is not null
 and f_meterday_date is not null
 and f_meterday_used>=0
  order by f_meterday_date

提示错误信息:
  消息 7308,级别 16,状态 1,过程 Usp_WaterImp,第 22 行
因为 OLE DB 访问接口 'msdaora' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。


问题一:“因为 OLE DB 访问接口 'msdaora' 配置为在单线程单元模式下运行”什么意思???   什么叫做“单线程单元模式下运行”???

问题二:“该访问接口无法用于分布式查询”,什么叫做“分布式查询”???     跨越数据库查询就叫做“分布式查询”吧。

问题三:应该怎样解决这样的问题呢???

问题四:“update openrowset()  set  set lable=1”这样可以修改对应的“Oracle”数据库中表的数据吧?     openrowset()就像“表”一样。
------解决方案--------------------
Oracle里面要注意大小寫的區分.

用表變量保存從Oracle抽過來的數據,再進行鏈接查詢.
------解决方案--------------------
这个我在MSDN上回复过了...
------解决方案--------------------
http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/fc303057-9734-4f95-9b59-eac91897a773