无法从链接服务器(oracle数据库)获取sql值

3ks5zfa0  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(291)

我有一个oracle数据库,它链接到一个microsoftsql服务器,因此我可以直接从sqlservermanagementstudio查询服务器和spool信息,而不用担心。现在我想传递一个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\u id都是作为列的字符串,我得到以下返回错误:
消息102,级别15,状态1,行5
“1010000001”附近的语法不正确。
请问我好像少了什么?

olqngx59

olqngx591#

select *
from openquery(LinkServerName,'select foracid,acct_name,acct_crncy_code,clr_bal_amt from table_name where bacid=''1010000001'' and sol_id=''XXX'' ')

如果有效,'需要由“”(2)转义。
基于注解的更正(在这种情况下转义有点奇怪):

select *
from openquery(LinkServerName,'select 
foracid,acct_name,acct_crncy_code,clr_bal_amt from table_name where 
bacid=""1010000001"" and sol_id=""XXX"" ')

相关问题