Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

OPENQUERY ném lỗi khi được sử dụng với WIN2K8 \ SQL2K12

Bạn cần đặt các giá trị DATETIME trong dấu ngoặc kép. Và vì truy vấn của bạn nằm trong chính một chuỗi, nên các dấu ngoặc đơn đó cần được nhân đôi / thoát như sau (và bạn có thể cũng nên đặt giá trị của tham số đầu tiên trong dấu ngoặc đơn thoát vì nó rõ ràng là một chuỗi).

Bạn cũng phải đủ điều kiện cho tên thủ tục được lưu trữ với [DatabaseName].[SchemaName]. .

Và kể từ khi vcs_gauge proc sử dụng SQL động, bạn cần chỉ định WITH RESULT SETS mệnh đề. Để biết thêm thông tin về điều khoản này, vui lòng xem trang MSDN để THỰC HIỆN .

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. Cấp quyền thực thi cho người dùng trên tất cả các thủ tục được lưu trữ trong cơ sở dữ liệu?

  2. Danh mục dịch vụ tích hợp sử dụng thông tin người dùng nào để thực thi các gói?

  3. Làm thế nào để chuyển một mảng các giá trị số nguyên từ một bảng vào một thủ tục được lưu trữ?

  4. cách tính số ngày trong năm trong sql server 2008

  5. CHÈN SỐ LƯỢNG LỚN vào các cột cụ thể?