U moet DATETIME-waarden tussen enkele aanhalingstekens plaatsen. En aangezien uw zoekopdracht zelf in een tekenreeks staat, moeten die enkele aanhalingstekens als volgt worden verdubbeld / escaped (en u moet waarschijnlijk ook de waarde van de eerste parameter tussen escaped-enkele aanhalingstekens plaatsen omdat het duidelijk een tekenreeks is).
U moet ook de naam van de opgeslagen procedure volledig kwalificeren met [DatabaseName].[SchemaName].
.
En aangezien de vcs_gauge
proc gebruikt Dynamische SQL, u moet de WITH RESULT SETS
. specificeren clausule. Zie voor meer informatie over deze clausule de MSDN-pagina voor UITVOEREN .
SELECT *
INTO #tmpTable
FROM OPENQUERY([WIN2K8\SQL2K12],
N'EXEC [DatabaseName].[SchemaName].vcs_gauge
@gauge_name = ''vs1_bag'',
@first_rec_time = ''2014-09-01 09:00:00'',
@last_rec_time = ''2014-09-01 10:00:00''
WITH RESULT SETS ( { column_specification} );
');