>... >set @sql = 'SELECT * FROM OpenRowset(''SQLOLEDB'', ''z'';''z'';''zz'', + >REPLACE(@Query,'''', '''''') + ''')' > >--select @sql > >exec sp_executesql @sql > >I got it work on Pubs..Sales table. Here's my test code for reference.
declare @Query nvarchar(400) >declare @SQL nvarchar(400) >set @Query = 'SELECT * FROM Pubs..Stores where state = ''CA''' >set @sql = 'SELECT * FROM OpenRowset(''SQLOLEDB.1'', ''zzz''; ''zz''; ''z'', ''' + > REPLACE(@Query,'''', '''''') + ''')' >exec sp_executesql @sql >>