在存储过程代码中调用sqlcmd命令

时间:2013-05-27 16:13:28

标签: sql-server stored-procedures sqlcmd openrowset

由于Linked Server不容易发送openrowset查询,我通过SQLCMD模式直接连接到远程Sql Server。但是这可以使用查询分析器。当我将代码放入存储过程时,我甚至无法保存它:

:Connect x.x.x.x -U sa -P password
select *
from  openrowset('VFPOLEDB','\\share\db\s_object.dbf';'';
    '','SELECT *  FROM s_object where i_class=21 order by 1')  
  

':'附近的语法不正确。

1 个答案:

答案 0 :(得分:2)

当sqlcmd模式启用时,

sqlcmd模式:connect语法在SSMS和QA中有效,但它始终是客户端命令,由SSMS或QA本身执行,并且从未发送到引擎。因此,它绝不能嵌入服务器端模块,如存储过程。如果你真的是指存储过程,那么难怪语法错误......