Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

OPENQUERY извежда грешка, когато се използва с WIN2K8\SQL2K12

Трябва да затворите стойностите на DATETIME в единични кавички. И тъй като вашата заявка е в самия низ, тези единични кавички трябва да бъдат удвоени/екранирани по следния начин (и вероятно също трябва да поставите стойността на първия параметър в екранирани единични кавички, тъй като очевидно е низ).

Трябва също така да квалифицирате напълно името на съхранената процедура с [DatabaseName].[SchemaName]. .

И тъй като vcs_gauge proc използва Dynamic SQL, трябва да посочите WITH RESULT SETS клауза. За повече информация относно тази клауза, моля, вижте страницата на MSDN за ИЗПЪЛНЕНИЕ .

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разберете защо имейл не успя да се изпрати в SQL Server (T-SQL)

  2. Кога и как да използвате клаузата на SQL PARTITION BY

  3. LOG10() Примери в SQL Server

  4. Справка Съхранени процедури за всички бази данни в сървъра

  5. Опитвам се да импортирам FoxPro DBF файл в SQL Server