Bagikan melalui


Masalah Konsumen Data

Topik ini menyediakan informasi untuk memecahkan masalah konsumen data.

SQL Server Integration Services (SSIS)

Sign-On Tunggal Perusahaan

Saat menggunakan Enterprise Single Sign-On dengan SQL Server Integration Services, Anda mungkin perlu memasukkan nilai MS$SAME tempat penampung untuk nama pengguna dan kata sandi. Dengan menggunakan Data Links, Anda dapat mengonfigurasi ESSO untuk digunakan dengan SSIS.

  1. Dalam dialog Koneksi , klik Akses menyeluruh untuk metode Keamanan.

  2. Pilih aplikasi Afiliasi dari kotak daftar drop-down.

  3. Dalam dialog Semua , klik Kata Sandi lalu klik Edit Nilai. Dalam dialog Edit Nilai Properti , masukkan MS$SAME untuk Nilai Properti, dan klik OK.

  4. Dalam dialog Semua , klik ID Pengguna lalu klik Edit Nilai. Dalam dialog Edit Nilai Properti , masukkan MS$SAME untuk Nilai Properti, dan klik OK.

  5. Dalam dialog Koneksi , klik Uji. Anda dapat melihat hasilnya dalam dialog Microsoft Data Links.

  6. Klik OK untuk menyimpan informasi konfigurasi.

FastLoad untuk menyisipkan nilai TIMESTAMP

Saat menggunakan SQL Server Integration Services OLE DB Destination dengan FastLoad untuk menyisipkan nilai datetime atau datetime2 SQL Server ke dalam kolom DB2 TIMESTAMP, Anda mungkin mengalami kesalahan ini.

REPRESENTASI STRING DARI NILAI DATETIME BUKAN NILAI DATETIME YANG VALID

Untuk mengatasi masalah ini, Anda harus mengatur properti sumber data Penyedia Data Gunakan Metadata Awal ke true.

Use Early Metadata=True

Pemetaan Jenis Data

Saat menggunakan Wizard Impor dan Ekspor Layanan Integrasi SQL Server, dari Microsoft SQL Server Management Studio atau Business Intelligence Design Studio, Anda dapat menyesuaikan konversi data default dengan mengedit file pemetaan XML. File pemetaan XML Wizard Impor dan Ekspor terletak di folder berikut.

C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\MappingFiles

Untuk memetakan IBM DB2 dengan benar untuk karakter IBM i dan jenis data desimal ke jenis data SQL Server, file pemetaan data harus diperluas untuk menyertakan sinonim bentuk panjang jenis data DB2. Misalnya, tambahkan pemetaan jenis data berikut antara sumber DB2 INTEGER dan SQL Server. Pemetaan ini kompatibel dengan SQLOLEDB, SQLNCL, SQLNCLI10, dan System.Data.SqlClient.SqlConnection. Ini menggantikan bentuk pendek SourceDataType nilai INT dengan INTEGER bentuk panjang.

Pemetaan berikut untuk DB2 INT kompatibel dengan DB2 untuk sumber z/OS V9.

<!-- INT -->
<dtm:DataTypeMapping>
<dtm:SourceDataType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SourceDataType>
<dtm:DestinationDataType>
<dtm:SimpleType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SimpleType>
</dtm:DestinationDataType>
</dtm:DataTypeMapping>

Pemetaan jenis data berikut untuk DB2 INTEGER kompatibel dengan DB2 untuk sumber IBM i V6R1.

<!-- INTEGER -->
<dtm:DataTypeMapping>
<dtm:SourceDataType>
<dtm:DataTypeName>INTEGER</dtm:DataTypeName>
</dtm:SourceDataType>
<dtm:DestinationDataType>
<dtm:SimpleType>
<dtm:DataTypeName>INT</dtm:DataTypeName>
</dtm:SimpleType>
</dtm:DestinationDataType>
</dtm:DataTypeMapping>

File Pemetaan Tipe Data

Tabel berikut ini menjelaskan tiga file pemetaan yang bisa Anda edit saat Anda menggunakan Penyedia Data.

Nama Tipe Data DB2 DB2ToMSSQl DB2ToMSSSql10 DB2ToSSIS10
WAKTU DATETIME waktu DT_DBTIME
TIMESTAMP tanggalwaktu datetime2 DT_DBTIMESTAMP2
TANGGAL DATETIME TANGGAL DT_DBDATE
CHAR CHAR CHAR DT_STR
CHAR () UNTUK DATA BIT BINARY BINARY DT_BYTES
CHAR () UNTUK DATA CAMPURAN NCHAR NCHAR DT_WSTR
CHAR () UNTUK DATA SBCS CHAR CHAR DT_STR
KARAKTER CHAR CHAR DT_STR
KARAKTER () UNTUK DATA BIT BINARY BINARY DT_BYTES
KARAKTER () UNTUK DATA CAMPURAN NCHAR NCHAR DT_WSTR
KARAKTER () UNTUK DATA SBCS CHAR CHAR DT_STR
KARAKTER NASIONAL NCHAR NCHAR DT_WSTR
VARCHAR VARCHAR VARCHAR DT_STR
VARCHAR () UNTUK DATA BIT VARBINARY VARBINARY DT_BYTES
VARCHAR () UNTUK DATA CAMPURAN NVARCHAR NVARCHAR DT_WSTR
VARCHAR () UNTUK DATA SBCS VARCHAR VARCHAR DT_STR
KARAKTER BERVARIASI VARCHAR VARCHAR DT_STR
KARAKTER BERVARIASI () UNTUK DATA BIT VARBINARY VARBINARY DT_BYTES
KARAKTER BERVARIASI () UNTUK DATA CAMPURAN NVARCHAR NVARCHAR DT_WSTR
KARAKTER BERVARIASI () UNTUK DATA SBCS VARCHAR VARCHAR DT_STR
KARAKTER NASIONAL BERVARIASI NVARCHAR NVARCHAR DT_WSTR
VARCHAR PANJANG UNTUK DATA BIT gambar gambar DT_IMAGE
LONG VARCHAR teks teks DT_TEXT
GRAFIS NCHAR NCHAR DT_WSTR
VARGRAPHIC NVARCHAR NVARCHAR DT_WSTR
GRAFIK BERVARIASI NVARCHAR NVARCHAR DT_WSTR
SMALLINT SMALLINT SMALLINT DT_I2
INT INT INT DT_14
INTEGER INT INT DT_14
BIGINT BIGINT BIGINT DT_18
DESIMAL NUMERIK NUMERIK DT_NUMERIC
NUMERIK NUMERIK NUMERIK DT_NUMERIC
REAL REAL REAL DT_R4
FLOAT FLOAT FLOAT DT_R8
DOUBLE FLOAT FLOAT DT_R8
PRESISI DOBEL FLOAT FLOAT DT_R8
BLOB gambar gambar DT_BYTES
OBJEK BESAR BINER gambar gambar DT_BYTES
CLOB teks teks DT_TEXT
CLOB () UNTUK DATA CAMPURAN ntext ntext DT_NTEXT
CLOB () UNTUK DATA SBCS teks teks DT_TEXT
OBJEK BESAR KARAKTER teks teks DT_TEXT
OBJEK BESAR KARAKTER () UNTUK DATA CAMPURAN ntext ntext DT_NTEXT
OBJEK BESAR KARAKTER () UNTUK DATA SBCS teks teks DT_TEXT
OBJEK BESAR KARAKTER teks teks DT_TEXT
OBJEK BESAR KARAKTER () UNTUK DATA CAMPURAN ntext ntext DT_NTEXT
OBJEK BESAR KARAKTER () UNTUK DATA SBCS teks teks DT_TEXT
130 ntext ntext DT_NTEXT

Setelah mengedit file pemetaan, Anda harus menutup dan membuka kembali Wizard Impor dan Ekspor SQL Server atau Studio Pengembangan Kecerdasan Bisnis, bergantung pada lingkungan tempat Anda bekerja.

Untuk informasi selengkapnya tentang mengonfigurasi Layanan Integrasi SQL Server 2008, lihat topik Mengimpor dan Mengekspor Data dengan Menggunakan SQL Server Wizard Impor dan Ekspor) di SQL Server Books Online (https://go.microsoft.com/fwlink/?LinkId=193204).

Menyesuaikan Komponen Aliran Data

Anda dapat menggunakan Komponen Aliran Data SQL Server Integration Services untuk melakukan transformasi default dan disesuaikan. Transformasi yang disesuaikan didasarkan pada kode kustom yang disediakan pengembang.

File pemetaan layanan integrasi SQL Server dalam format XML digunakan dengan Wizard Impor dan Ekspor. File-file ini tidak digunakan dengan Aliran Data. SQL Server Integration Services menawarkan kelas Buffer Alur untuk memungkinkan pengembang perusahaan menyesuaikan pemetaan data dalam Aliran Data. Untuk informasi selengkapnya tentang menyesuaikan komponen aliran data menggunakan SQL Server 2008 Integration Services, lihat topik Bekerja dengan Jenis Data dalam Aliran Data di SQL Server Books Online (https://go.microsoft.com/fwlink/?LinkId=241523).

Replikasi SQL Server

Parameter Turunan

SQL Server Replikasi mengharuskan Parameter Turunan diatur ke FALSE.

Pemetaan Jenis Data

SQL Server Replikasi dapat mengonversi data dengan salah, berdasarkan pemetaan default dari SQL Server ke jenis data DB2. Kami menyarankan agar Anda meninjau dan merevisi pemetaan jenis data Replikasi menggunakan prosedur tersimpan sistem SQL Server berikut.

  • sp_helpdatatypemap
    
  • sp_getdefaultdatatypemapping
    
  • sp_setdefaultdatatypemapping
    

    Untuk informasi selengkapnya, lihat topik Prosedur Tersimpan Sistem (Transact-SQL) di SQL Server Books Online (http://go.microsoft.com/fwlink/?LinkId=241524).

    Masalah dengan pemetaan SQL Server DATETIME2 ke DBTYPE_TIMESTAMP

    SQL Server 2008 Replikasi ke DB2 untuk z/OS mungkin gagal dengan SQLCODE -188 (representasi string dari nilai tanggalwaktu bukan nilai tanggalwaktu yang valid). Ini terjadi ketika Replikasi dikonfigurasi untuk memetakan DATETIME2 ke DB2 VARCHAR(27) dan menggunakan perintah artikel langganan dengan nilai data literal string.

    Solusi untuk masalah dengan Instruksi Langkah demi Langkah

    Konfigurasikan ulang replikasi SQL Server 2008 untuk memetakan perintah DATETIME2 ke DB2 TIMESTAMP dan artikel langganan dengan parameter. Ini memungkinkan Penyedia Data untuk memformat DATETIME2 sebagai struktur DB2 TIMESTAMP yang didukung oleh server database IBM DB2.

  1. Identifikasi pemetaan jenis data untuk dimodifikasi. Gunakan MASTER untuk semua langkah.

    pilih * dari

    sys.fn_helpdatatypemap
    (
       'MSSQLSERVER',
        '%',
        '%',
        '%',
        '%',
        '%',
        0
    )
    
  2. Di mana destination_dbms = 'DB2' dan source_type = 'datetime2'Hasilnya harus menunjukkan mapping_id untuk dimodifikasi. Tabel berikut ini memperlihatkan panel hasil untuk contoh ini di mana mapping_id adalah 189.

    mapping_id source_dbms source_type destination_dbms destination_type destination_length
    189 MSSQLSERVER datetime2 DB2 VARCHAR 27
  3. Hilangkan pemetaan jenis data.

    exec sp_dropdatatypemapping 189
    
  4. Tambahkan pemetaan jenis data.

    exec  sp_adddatatypemapping
         @source_dbms = 'MSSQLSERVER',
         @source_type = 'datetime2',
         @destination_dbms = 'DB2',
         @destination_type = 'TIMESTAMP',
         @destination_nullable = 1,
         @destination_createparams = 0,
         @dataloss = 0,
         @is_default = 1
    
  5. Jalankan kueri lagi untuk memverifikasi pemetaan tipe data baru.

    pilih * dari

    select * from sys.fn_helpdatatypemap
    (
       'MSSQLSERVER',
        '%',
        '%',
        '%',
        '%',
        '%',
        0
    )
    
  6. Di mana destination_dbms = 'DB2' dan source_type = 'datetime2'

    Hasilnya harus menunjukkan mapping_id untuk dimodifikasi. Tabel berikut ini memperlihatkan panel hasil untuk contoh ini di mana mapping_id adalah 189.

    mapping_id source_dbms source_type destination_dbms destination_type destination_length
    494 MSSQLSERVER datetime2 DB2 TIMESTAMP NULL
  7. Identifikasi artikel langganan replikasi untuk mengonfigurasi ulang. Gunakan pernyataan TRANSACT-SQL USE untuk beralih dari database master ke database tempat Anda mereplikasi.

    USE [Test]

    select name, status from sysarticles
    
  8. Hasilnya harus menampilkan nama artikel yang akan diubah. Dalam contoh ini, tabel berikut menunjukkan hasil di mana nama tersebut DB2TS01.

    nama status
    DB2TS01 25
  9. Jika nilai status adalah 1 atau 9, maka artikel dikonfigurasi untuk pemformatan literal string.

    Jika nilai status adalah 17 atau 25, maka artikel dikonfigurasi untuk pemformatan berparameter.

  10. Konfigurasikan artikel langganan replikasi untuk perintah berparameter.

    USE [Test]

    DECLARE @publication AS sysname;
    DECLARE @article AS sysname;
    SET @publication = N'DB2TS_PUB01';
    SET @article = N'DB2TS01';
    EXEC sp_changearticle @publication, @article, 'status', 'parameters', 0, 0;
    

    Untuk informasi selengkapnya, lihat Konsep Prosedur Tersimpan Sistem Replikasi (https://go.microsoft.com/fwlink/?LinkId=241525) di buku SQL Server Online.

Operasi INSERT replikasi gagal dengan Kesalahan 8152: String atau data biner akan terpotong

SQL Server operasi INSERT Replikasi mungkin gagal dengan kesalahan SQL Server 8152 (String atau data biner akan terpotong.). Ini dapat terjadi ketika (1) Penyedia Data tidak dikonfigurasi untuk menggunakan metadata awal, dan (2) Replikasi tidak dikonfigurasi untuk menggunakan pernyataan INSERT berparameter.

Konfigurasi ulang koneksi Penyedia Data untuk menentukan "Gunakan Metadata Awal=true" dalam definisi sumber data pelanggan Replikasi SQL Server.

Untuk informasi selengkapnya, lihat Mengonfigurasi Penyedia Data untuk DB2 Data Links (DB2) Semua Properti di Penyedia OLE DB untuk dokumentasi DB2.

Konfigurasikan ulang artikel langganan SQL Server Replikasi untuk menyertakan opsi "24" ("Menyertakan nama kolom dalam pernyataan INSERT dan menggunakan pernyataan berparameter.").

Untuk informasi selengkapnya, lihat sp_addarticle Replikasi SQL Server (Transact-SQL) dalam dokumentasi SQL Server.

SQL Server Analysis Services

Saat Anda merancang kubus untuk digunakan dengan SQL Server Analysis Services, alat menghasilkan perintah SQL yang berisi nama alias panjang yang mungkin melebihi panjang maksimum yang didukung oleh server DB2. Bergantung pada platform dan versi DB2 yang Anda gunakan, Anda mungkin tidak dapat menggunakan kueri dengan nama alias yang melebihi 18 karakter. Misalnya, banyak objek yang disebarkan di DB2 untuk z/OS menggunakan nama 18 karakter. Lihat Referensi DB2 SQL untuk platform dan versi DB2 Anda dan tanyakan kepada administrator database DB2 Anda. Sebaiknya administrator atau pengembang memperbarui dua file kartrid konfigurasi SQL Server Analysis Service yang berisi dukungan pemetaan jenis data untuk DB2 dengan mengubah panjang pengidentifikasi (limit-table-identifier-length) dari 29 menjadi 18. Berikut ini adalah nama dan lokasi dua file kartrid yang harus diperbarui.

  • C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs

  • C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs

    SQL Server Analysis Services menggunakan file konfigurasi yang diperbarui untuk memberi nama objek dengan benar dalam perintah SQL.

Asisten Migrasi SQL Server untuk DB2

Saat menggunakan Asisten Migrasi SQL Server untuk DB2 (SSMA) untuk membaca data CLOB DB2, Anda harus menentukan koneksi DB2 dalam SSMA menggunakan opsi string koneksi, lalu menyertakan dalam string koneksi argumen berikut.

  • Gunakan Metadata Awal=True

Argumen ini menginstruksikan Penyedia Data untuk menggunakan metadata awal (jenis data parameter dan kolom) yang ditentukan pada waktu desain atau metadata terlambat yang ditentukan saat runtime. Properti opsional ini menerima nilai Boolean. Nilai defaultnya adalah false. Tentukan true saat menggunakan asisten migrasi SQL Server (SSMA) untuk DB2 untuk membaca data CLOB, termasuk informasi skema yang dikodekan sebagai data CLOB (misalnya kolom PERNYATAAN SYSIBM. Tabel SYSTRIGGERS.