oracle中有一个表tablea,有字段img,类型为LONG RAW 
如果在sql server做完DBLINK,可以通过  
  select * from openquery (HR, 'select * from  HR.TABLEA where idno=''20507309''  ') 来读取 
但是如果是在oracle中给做一个 view,名为viewa,其他有字段img来读取tablea中的img 
现在在sql server做完DBLINK,通过  
  select * from openquery (HR, 'select * from  HR.VIEWA where idno=''20507309''  ') 出现 
OLE DB provider 'MSDAORA' reported an error.  
[OLE/DB provider returned message: 发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。] 
[OLE/DB provider returned message: 数据类型不被支持。] 
OLE DB error trace [OLE/DB Provider 'MSDAORA' ICommandPrepare::Prepare returned 0x80004005:  ]. 
难道读取view中的就不可以?

解决方案 »

  1.   

    LONG RAW这个类型,帮你查下,可能sqlserver不支持读取这个数据类型
      

  2.   

    可以用用转换函数试试,convert(varchar(200),字段)
      

  3.   

    没看清楚你的问题img是你oracle的里的表view是建在oracle里,还是sqlserver里?
      

  4.   

    img是你oracle的
    view是建在oracle
      

  5.   

    发现原来img的类型为LONG RAW是,就能在sql server中读取 ,之后类型是BLOB时,就不能读了
      

  6.   

    sql server 不支持long raw  大对象类型
      

  7.   


    LONG raw支持, 而Blob不支持么。