Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Paket SSIS tidak ingin mengambil metadata dari tabel sementara

Menggunakan WITH RESULT SETS untuk mendefinisikan metadata secara eksplisit akan memungkinkan SSIS untuk melewati sp_describe_first_result_set langkah dan gunakan metadata yang Anda tentukan. Keuntungannya adalah Anda dapat menggunakan ini untuk membuat SSIS menjalankan SQL yang berisi tabel sementara (bagi saya, kinerja itu sangat membantu); downside adalah, Anda harus memelihara dan memperbarui ini secara manual jika ada perubahan.

Contoh kueri (prosedur tersimpan :)

    EXEC ('dbo.MyStoredProcedure')
    WITH RESULT SETS
      (
        (
            MyIntegerColumn INT NOT NULL,
            MyTextColumn VARCHAR(50) NULL,
            MyOtherColumn BIT NULL
        )
      )

Contoh kueri (SQL sederhana :)

EXEC ('
    CREATE TABLE #a 
      (
        MyIntegerColumn INT NOT NULL,
        MyTextColumn VARCHAR(50) NULL,
        MyOtherColumn BIT NULL
      ) 
    INSERT INTO #a 
      (
        MyIntegerColumn,
        MyTextColumn,
        MyOtherColumn
      )
    SELECT 
        1 AS MyIntegerColumn,
        ''x'' AS MyTextColumn,
        0 AS MyOtherColumn

    SELECT MyIntegerColumn, MyTextColumn, MyOtherColumn
    FROM #a')

WITH RESULT SETS
    (
        (
            MyIntegerColumn INT NOT NULL
           ,MyTextColumn VARCHAR(50) NULL
           ,MyOtherColumn BIT NULL
        )
    )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Simpan beberapa nilai bit dalam satu kolom tabel

  2. Apa itu LEN() di SQL Server?

  3. Kesalahan Umum DBA di MS SQL Server

  4. Bagaimana cara mendapatkan informasi tanggal/waktu dari kolom TIMESTAMP?

  5. Bagaimana cara mengecilkan Database SQL Server saya?