当我运行此查询时
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
答案 0 :(得分:1)
您是否尝试在LIKE
条件周围添加转义单引号?
SELECT *
FROM OPENQUERY([XXX], 'SELECT * FROM Database.Table WHERE (MBCONO=650) AND MBCUNO LIKE ''a%''' )
如果这不起作用,请尝试直接针对目标服务器运行查询。