未从链接服务器(Oracle 数据库)获取 SQL 值

Not getting SQL values from Linked Server (Oracle Database)

我有一个 Oracle 数据库,它链接到 Microsoft SQL 服务器,因此我可以直接从 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 都是字符串作为列,我得到这个 return 错误:

Msg 102, Level 15, State 1, Line 5
Incorrect syntax near '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"" ')