查询分析器中执行:select * from OPENQUERY(HJTEST,'EXEC HJTEST.P_PROC1')
其中HJTEST是链接服务器的名字,存储过程为用户HJTEST的P_PROC1
总是报错:
未能处理对象:'EXEC HJTEST.P_PROOC1'.OLE DB提供程序MSDAORA指出该对象中没有列

解决方案 »

  1.   

    try:
        EXEC HJTEST.数据库名.dbo.P_PROC1
      

  2.   

    存储过程为用户HJTEST的P_PROC1------------------------------------------------------try:
        EXEC HJTEST.数据库名.HJTEST.P_PROC1
      

  3.   

    select * from OPENQUERY(HJTEST,'EXEC 数据库.HJTEST.P_PROC1')
      

  4.   

    好像还是不行,P_C 存储过程只是简单的执行某个表的删除动作.没有参数.
    用   wangtiecheng(cappuccino) 说的  EXEC HJTEST.数据库名.dbo.P_C
    报错为:
    服务器: 消息 7212,级别 17,状态 1,行 1
    未能在远程服务器 'HJTEST' 上执行过程 'P_C'。
    [OLE/DB provider returned message: 在执行命令过程中,发生了一个或多个错误。]
    [OLE/DB provider returned message: 语法错误在 {call...} ODBC Escape。]诚盼大虾指教
      

  5.   

    --直接在SQL Server上执行删除语句,删除Oracle表中的数据
    delete OPENQUERY(HJTEST,'HJTEST.Oracle中的表名') where ...
      

  6.   

    还是不行,我实际上想的是在SQLSERVER中执行ORACLE的存储过程(带参数).难道真的没人成功的用过