Dynamic query to read XML file using OpenRowSet executes manually but not with SP_Execute

87 views Asked by At

This gives me a valid query which works:

:setvar StreamsLocalFolder 'C:\inetpub\wwwroot\app'

DECLARE @sql VARCHAR(MAX)
SET @sql = 'SELECT MyFile.BulkColumn FROM OPENROWSET(BULK ''' + 
$(StreamsLocalFolder) + '\path.xml' + ''', SINGLE_CLOB) AS MyFile'
SELECT @sql

But this doesn't execute, wonder why:

:setvar StreamsLocalFolder 'C:\inetpub\wwwroot\app'

DECLARE @sql VARCHAR(MAX)
SET @sql = 'SELECT MyFile.BulkColumn FROM OPENROWSET(BULK ''' + 
$(StreamsLocalFolder) + '\path.xml' + ''', SINGLE_CLOB) AS MyFile'
sp_execute @sql
1

There are 1 answers

0
Shishir Tanwar On

This doesn't work

sp_execute @sql

But this works

exec (@sql)