sql >> Database teknologi >  >> RDS >> Sqlserver

OPENQUERY kaster fejl, når det bruges sammen med WIN2K8\SQL2K12

Du skal angive DATETIME-værdier i enkelte anførselstegn. Og da din forespørgsel er i selve en streng, skal de enkelte anførselstegn fordobles / escapes som følger (og du bør nok også sætte den første parameters værdi i escaped-enkelt-anførselstegn, da det tydeligvis er en streng).

Du bør også fuldt ud kvalificere navnet på den lagrede procedure med [DatabaseName].[SchemaName]. .

Og siden vcs_gauge proc bruger Dynamic SQL, skal du angive WITH RESULT SETS klausul. For mere information om denne klausul, se venligst MSDN-siden for 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. Oracle SQL-forespørgsel til liste over alle skemaer i en DB

  2. Referenceværdi for seriel kolonne i en anden kolonne under samme INSERT

  3. Entity Framework Indeksering af ALLE fremmednøglekolonner

  4. HIbernate problem med Oracle Trigger til generering af id fra en sekvens