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()就像“表”一样。declare @LastTime    char(10)set @LastTime = CONVERT(varchar(100),(select  top 1   DATime  from  DataETL  where  MeterType='WM'  order  by  DATime  desc),23)
set  @oraclesql='select  f_meter_code, f_meterday_date, f_meterday_used  from  t_rp_meter_dayenergytemp   where    f_meterday_date >      '''+@LastTime+''''
declare ImpCursor cursor for select f_meter_code, f_meterday_date, f_meterday_used
 from openrowset('msdaora','.';'scott';'123456',''''+@oraclesql+'''')问题五:这样“拼接字符串”做为参数好像不行啊???    直接以‘select  f_meter_code, f_meterday_date, f_meterday_used  from  t_rp_meter_dayenergytemp ’做为参数是没有问题的,那么“@LastTime” 变量怎样传入方法中呢???问题六:写的“openrowset”方法访问本地“Oracle”数据库没有问题吧。
msdaora:MSDAORA是OLEDB FOR ORACLE的驱动".":本地服务器"scott":用户名"123456":密码"@oraclesql":操作语句疑问:不用指定“Oracle”数据库的名字啊???    数据库的名字叫做“orcl”...不用指定吗???
问题七:配置Oracle和MSSQL  TNS
这里口令输不进去了,就算输进去也是提示“无法连接”的。
   这个问题应该如何处理???  为什么配置不正确呢???

问题八:通过“openrowset”实现“SQLServer”访问“Oracle”一定要配置“TNS”吗???  

解决方案 »

  1.   

    期待大师,再多问一个问题。问题九:“Oracle11g”中没有“OEM”了对吧???     用“SQLPlus”应该如何重启Oracle服务呢???比如“ORCL”数据库,用户名“scott”(DBA),密码“123456”
      

  2.   

    重启服务?重启库是吧?
    SQLPLUS下重启数据库是需要SYSDBA权限的
    先shutdown immediate
    再startup
      

  3.   

    "listener.ora"和“tnsnames.ora”,直接复制“Oracle”服务端的给连接“客户端”的程序使用,一般都会好使吧???
    在客户端机器上手动创建“tnsnames.ora”有时候,不太好用。“listener.ora”在客户端上也必须自己手动创建吧,不然连接提示找不到“监听程序”。