我有一个Oracle数据库,它链接到一个Microsoft SQL Server,所以我可以直接从SQL Server Management Studio查询服务器和数据库中的假脱机信息,而不用担心。现在,我想传递一个SQL查询,从链接的服务器中获取信息,并显示数据库中的值。
所以当我这样做的时候,例如
select * from openquery(LinkServerName,'select * from table_name')
这100%有效,没有任何错误。
现在,当我运行类似的东西时
select * from openquery(LinkServerName,'select foracid,acct_name,acct_crncy_code,clr_bal_amt from table_name where bacid='1010000001' and sol_id='XXX'')
在bacid和sol_id都是作为列的字符串的情况下,我得到了以下返回错误:
消息102,级别15,状态1,第5行
"1010000001"附近的语法不正确。
请问我缺少什么?
select *
from openquery(LinkServerName,'select foracid,acct_name,acct_crncy_code,clr_bal_amt from table_name where bacid=''1010000001'' and sol_id=''XXX'' ')
"应该工作,"需要由"(两个(转义。
基于评论的更正(在这种情况下,转义有点奇怪(:
select *
from openquery(LinkServerName,'select
foracid,acct_name,acct_crncy_code,clr_bal_amt from table_name where
bacid=""1010000001"" and sol_id=""XXX"" ')