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.
Dalam dialog Koneksi , klik Akses menyeluruh untuk metode Keamanan.
Pilih aplikasi Afiliasi dari kotak daftar drop-down.
Dalam dialog Semua , klik Kata Sandi lalu klik Edit Nilai. Dalam dialog Edit Nilai Properti , masukkan MS$SAME untuk Nilai Properti, dan klik OK.
Dalam dialog Semua , klik ID Pengguna lalu klik Edit Nilai. Dalam dialog Edit Nilai Properti , masukkan MS$SAME untuk Nilai Properti, dan klik OK.
Dalam dialog Koneksi , klik Uji. Anda dapat melihat hasilnya dalam dialog Microsoft Data Links.
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.
Identifikasi pemetaan jenis data untuk dimodifikasi. Gunakan MASTER untuk semua langkah.
pilih * dari
sys.fn_helpdatatypemap ( 'MSSQLSERVER', '%', '%', '%', '%', '%', 0 )
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 Hilangkan pemetaan jenis data.
exec sp_dropdatatypemapping 189
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
Jalankan kueri lagi untuk memverifikasi pemetaan tipe data baru.
pilih * dari
select * from sys.fn_helpdatatypemap ( 'MSSQLSERVER', '%', '%', '%', '%', '%', 0 )
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 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
Hasilnya harus menampilkan nama artikel yang akan diubah. Dalam contoh ini, tabel berikut menunjukkan hasil di mana nama tersebut DB2TS01.
nama status DB2TS01 25 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.
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.