sql >> Databasteknik >  >> RDS >> Sqlserver

OPENQUERY ger ett fel när den används med WIN2K8\SQL2K12

Du måste ange DATETIME-värden i enstaka citattecken. Och eftersom din fråga är i en sträng i sig, måste dessa enkla citattecken dubbleras / escapes enligt följande (och du bör förmodligen också sätta den första parameterns värde i escaped-enkla-citattecken eftersom det helt klart är en sträng).

Du bör också fullständigt kvalificera namnet på den lagrade proceduren med [DatabaseName].[SchemaName]. .

Och eftersom vcs_gauge proc använder Dynamic SQL, du måste ange WITH RESULT SETS klausul. För mer information om denna klausul, se MSDN-sidan för EXECUTE .

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} );
             ');



  1. Vad är det enklaste sättet att lagra data från ett java-program till MySQL?

  2. Konfigurera MySQL-backend i Azure för Xamarin Offline Sync

  3. Din ultimata guide till SQL Join:INNER JOIN – Del 1

  4. Django-formulär för att fråga databas (modeller)