尝试使用OPENQUERY消息7321,级别16,状态2,行1时出错

时间:2013-04-10 06:40:39

标签: sql-server linked-server openquery

当我运行此查询时

SELECT *   
    FROM OPENQUERY([XXX], 'SELECT * FROM Database.Table WHERE (MBCONO=650) AND MBCUNO LIKE a%' )

获取错误:

  

链接服务器“XXX”的OLE DB提供程序“DB2OLEDB”返回消息   “Token%ŸFOR跳过FETCH ORDER UNION EXCEPT OPTIMIZE SQLSTATE:   42601,SQLCODE:-104“。

消息7321,级别16,状态2,行1错误

  准备查询“SELECT * FROM Database.Table WHERE”时发生

  (MBCONO = 650)和MBCUNO类似于'%'“执行OLE DB   提供者“DB2OLEDB”用于链接服务器“LAWSON”。

但是当我运行相同的查询而没有AND MBCUNO LIKE a%返回结果!!

任何人都可以帮助我解决这个问题

Thanx

1 个答案:

答案 0 :(得分:1)

您是否尝试在LIKE条件周围添加转义单引号?

SELECT *   
    FROM OPENQUERY([XXX], 'SELECT * FROM Database.Table WHERE (MBCONO=650) AND MBCUNO LIKE ''a%''' )

如果这不起作用,请尝试直接针对目标服务器运行查询。