Database IBM Db2
Ringkasan
Benda | Deskripsi |
---|---|
Keadaan Rilis | Ketersediaan Umum |
Produk | Excel Power BI (Model semantik) Power BI (Dataflows) Fabric (Dataflow Gen2) Power Apps (Aliran Data) Dynamics 365 Customer Insights |
Jenis Autentikasi Didukung | Dasar Database Windows |
Dokumentasi Referensi Fungsi | DB2.Database |
Nota
Beberapa kemampuan mungkin ada dalam satu produk tetapi tidak yang lain karena jadwal penyebaran dan kemampuan khusus host.
Prasyarat
Secara default, konektor database IBM Db2 menggunakan driver Microsoft untuk menyambungkan ke data Anda. Jika Anda memilih untuk menggunakan driver IBM dalam opsi tingkat lanjut di Power Query Desktop, Anda harus terlebih dahulu menginstal driver IBM Db2 untuk .NET pada komputer yang digunakan untuk menyambungkan ke data. Nama driver ini berubah dari waktu ke waktu, jadi pastikan untuk menginstal driver IBM Db2 yang berfungsi dengan .NET. Untuk petunjuk tentang cara mengunduh, menginstal, dan mengonfigurasi driver IBM Db2 untuk .NET, buka Unduh klien dan driver versi awal 11.5. Informasi selengkapnya: Batasan Driver, Pastikan driver IBM Db2 diinstal
Kapabilitas yang Didukung
- Mengimpor
- DirectQuery (model semantik Power BI)
- Opsi tingkat lanjut
- Driver (IBM dan Microsoft)
- Batas waktu perintah dalam menit
- Koleksi paket
- Pernyataan SQL
- Sertakan kolom hubungan
- Menavigasi menggunakan hierarki penuh
Menyambungkan ke database IBM Db2 dari Power Query Desktop
Untuk membuat koneksi, lakukan langkah-langkah berikut:
Pilih opsi database IBM Db2 dari Dapatkan Data.
Tentukan server IBM Db2 yang akan disambungkan di server . Jika port diperlukan, tentukan dengan menggunakan format ServerName:Port, di mana Port adalah nomor port. Selain itu, masukkan database IBM Db2 yang ingin Anda akses di Database. Dalam contoh ini, nama server dan port
TestIBMDb2server.contoso.com:4000
dan database IBM Db2 yang diaksesNORTHWD2
.Jika Anda menghubungkan dari Power BI Desktop, pilih mode konektivitas data Impor atau DirectQuery. Langkah-langkah contoh lainnya menggunakan mode Impor konektivitas data. Untuk mempelajari selengkapnya tentang DirectQuery, buka Gunakan DirectQuery di Power BI Desktop.
Nota
Secara default, kotak dialog database IBM Db2 menggunakan driver Microsoft selama masuk. Jika Anda ingin menggunakan driver IBM, buka opsi Tingkat Lanjut dan pilih IBM. Informasi selengkapnya: Sambungkan menggunakan opsi tingkat lanjut
Jika Anda memilih DirectQuery sebagai mode konektivitas data Anda, pernyataan SQL dalam opsi tingkat lanjut akan dinonaktifkan. DirectQuery saat ini tidak mendukung pendorongan kueri ke bawah di atas kueri database asli untuk konektor IBM Db2.
Pilih OK.
Jika ini pertama kalinya Anda menyambungkan ke database IBM Db2 ini, pilih jenis autentikasi yang ingin Anda gunakan, masukkan kredensial Anda, lalu pilih Sambungkan. Untuk informasi selengkapnya tentang autentikasi, buka Autentikasi dengan sumber data.
Secara default, Power Query mencoba menyambungkan ke database IBM Db2 menggunakan koneksi terenkripsi. Jika Power Query tidak dapat tersambung menggunakan koneksi terenkripsi, kotak dialog "tidak dapat menyambungkan" akan muncul. Untuk menyambungkan menggunakan koneksi yang tidak terenkripsi, pilih OK.
Di Navigator, pilih data yang Anda butuhkan, lalu pilih Muat untuk memuat data atau Mengubah Data untuk mengubah data.
Menyambungkan ke database IBM Db2 dari Power Query Online
Untuk membuat koneksi, lakukan langkah-langkah berikut:
Pilih opsi database IBM Db2
di halaman Power Query - Sambungkan ke sumber data .Tentukan server IBM Db2 yang akan disambungkan di server . Jika port diperlukan, tentukan dengan menggunakan format ServerName:Port, di mana Port adalah nomor port. Selain itu, masukkan database IBM Db2 yang ingin Anda akses di Database. Dalam contoh ini, nama server dan port
TestIBMDb2server.contoso.com:4000
dan database IBM Db2 yang diaksesNORTHWD2
Pilih nama gateway data lokal Anda.
Nota
Anda harus memilih gateway data lokal untuk konektor ini, baik database IBM Db2 berada di jaringan lokal Anda atau online.
Jika ini pertama kalinya Anda menyambungkan ke database IBM Db2 ini, pilih jenis kredensial untuk koneksi dalam jenis Autentikasi . Pilih Dasar jika Anda berencana menggunakan akun yang dibuat dalam database IBM Db2 alih-alih autentikasi Windows.
Masukkan kredensial Anda.
Pilih Gunakan Koneksi Terenkripsi jika Anda ingin menggunakan koneksi terenkripsi, atau hapus opsi jika Anda ingin menggunakan koneksi yang tidak terenkripsi.
Pilih Berikutnya untuk melanjutkan.
Di Navigator, pilih data yang Anda butuhkan, lalu pilih Ubah data untuk mengubah data di Editor Power Query.
Navigator
Menyambungkan menggunakan opsi tingkat lanjut
Power Query menyediakan sekumpulan opsi tingkat lanjut yang bisa Anda tambahkan ke kueri Anda jika diperlukan.
Tabel berikut ini mencantumkan semua opsi tingkat lanjut yang bisa Anda atur di Power Query.
Opsi tingkat lanjut | Deskripsi |
---|---|
Pengemudi | Menentukan driver mana yang digunakan untuk menyambungkan ke database IBM Db2 Anda. Pilihannya adalah IBM dan Windows (default). Jika Anda memilih driver IBM, Anda harus terlebih dahulu memastikan bahwa driver IBM Db2 untuk .NET diinstal pada komputer Anda. Opsi ini hanya tersedia di Power Query Desktop. Informasi selengkapnya: Pastikan driver IBM Db2 diinstal |
Batas waktu perintah dalam menit | Jika koneksi Anda berlangsung lebih dari 10 menit (batas waktu default), Anda dapat memasukkan nilai lain dalam hitungan menit untuk menjaga koneksi tetap terbuka lebih lama. |
Koleksi paket | Menentukan tempat untuk mencari paket. Paket adalah struktur kontrol yang digunakan oleh Db2 saat memproses pernyataan SQL, dan akan dibuat secara otomatis jika perlu. Secara default, opsi ini menggunakan nilai NULLID . Hanya tersedia saat menggunakan driver Microsoft. Informasi selengkapnya: paket DB2: Konsep, contoh, dan masalah umum |
Perintah SQL | Untuk informasi, buka Mengimpor data dari database menggunakan kueri database asli. |
Sertakan kolom hubungan | Jika dicentang, sertakan kolom yang mungkin memiliki hubungan dengan tabel lain. Jika kotak ini dikosongkan, Anda tidak akan melihat kolom tersebut. |
Menavigasi menggunakan hierarki penuh | Jika dicentang, navigator menampilkan hierarki lengkap tabel dalam database yang sedang Anda sambungkan. Jika dibersihkan, navigator hanya menampilkan tabel yang kolom dan barisnya berisi data. |
Setelah Anda memilih opsi tingkat lanjut yang Anda perlukan, pilih OK di Power Query Desktop atau Berikutnya di Power Query Online untuk menyambungkan ke database IBM Db2 Anda.
Masalah dan batasan
Batasan driver
Driver Microsoft adalah driver yang sama yang digunakan di Microsoft Host Integration Server, yang disebut "penyedia ADO.NET untuk DB2". Driver IBM adalah driver IBM Db/2 yang berfungsi dengan .NET. Nama driver ini berubah dari waktu ke waktu, jadi pastikan itu adalah yang bekerja dengan .NET, yang berbeda dari driver IBM Db2 yang bekerja dengan OLE/DB, ODBC, atau JDBC.
Anda dapat memilih untuk menggunakan driver Microsoft (default) atau driver IBM jika Anda menggunakan Power Query Desktop. Saat ini, Power Query Online hanya menggunakan driver Microsoft. Setiap driver memiliki batasan.
- Pengandar Microsoft
- Mendukung Transport Layer Security (TLS) hanya dengan rilis Power BI Desktop pada bulan Desember 2024 atau yang lebih baru
- Driver IBM
- Konektor database IBM Db2, saat menggunakan driver IBM Db2 untuk .NET, tidak berfungsi dengan sistem Mainframe atau IBM i
- Tidak mendukung DirectQuery
Microsoft menyediakan dukungan untuk driver Microsoft, tetapi tidak untuk driver IBM. Namun, jika departemen IT Anda sudah menyiapkan dan mengonfigurasinya di komputer Anda, departemen IT Anda harus tahu cara memecahkan masalah driver IBM.
Kueri asli tidak didukung di DirectQuery
Saat Anda memilih DirectQuery sebagai mode konektivitas data di Power Query Desktop, kotak teks pernyataan SQL di opsi tingkat lanjut dinonaktifkan. Ini dinonaktifkan karena konektor Power Query IBM Db2 saat ini tidak mendukung pendorongan kueri di atas kueri database asli.
Pemecahan masalah
Pastikan driver IBM Db2 diinstal
Jika Anda memilih untuk menggunakan driver IBM Db2 untuk Power Query Desktop, Pertama-tama Anda harus mengunduh, menginstal, dan mengonfigurasi driver di komputer Anda. Untuk memastikan driver IBM Db2 telah diinstal:
Buka Windows PowerShell di komputer Anda.
Masukkan perintah berikut:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv
Dalam kotak dialog yang terbuka, Anda akan melihat nama berikut di kolom InvariantName:
IBM.Data.DB2
Jika nama ini berada di kolom InvariantName, driver IBM Db2 telah diinstal dan dikonfigurasi dengan benar.
Kode kesalahan SQLCODE -805 dan SQLCODE -551
Saat mencoba menyambungkan ke database IBM Db2, Anda mungkin terkadang menemukan kesalahan umum SQLCODE -805, yang menunjukkan bahwa paket tidak ditemukan di NULLID
atau koleksi lain (ditentukan dalam konfigurasi koneksi Paket Power Query). Anda mungkin juga mengalami kesalahan umum SQLCODE -551, yang menunjukkan Anda tidak dapat membuat paket karena Anda tidak memiliki otoritas pengikatan paket.
Biasanya, -805 SQLCODE diikuti oleh SQLCODE -551, tetapi Anda hanya akan melihat pengecualian kedua. Pada kenyataannya, masalahnya sama. Anda tidak memiliki otoritas untuk mengikat paket ke NULLID
atau koleksi yang ditentukan.
Biasanya, sebagian besar administrator IBM Db2 tidak memberikan otoritas paket ikatan kepada pengguna akhir—terutama di lingkungan IBM z/OS (mainframe) atau IBM i (AS/400). Db2 di Linux, Unix, atau Windows berbeda karena akun pengguna secara default memiliki hak istimewa untuk bind, yang secara otomatis menciptakan paket MSCS001 (Stabilitas Kursor) dalam koleksi pengguna sendiri (nama = nama login pengguna).
Jika Anda tidak memiliki hak istimewa untuk mengikat paket, Anda harus meminta kewenangan untuk mengikat paket kepada administrator Db2 Anda. Dengan otoritas pengikatan paket ini, sambungkan ke database dan ambil data, yang akan membuat paket secara otomatis. Setelah itu, administrator dapat mencabut otoritas pengikatan kemasan. Selain itu, administrator dapat menyalin dan mengikat paket ke koleksi lain untuk meningkatkan penggunaan bersama, untuk lebih memenuhi standar internal Anda mengenai tempat paket tersebut terikat, dan sebagainya.
Saat menyambungkan ke IBM Db2 untuk z/OS, administrator Db2 dapat melakukan langkah-langkah berikut.
Berikan otoritas untuk mengikat paket baru kepada pengguna dengan salah satu perintah berikut:
- MEMBERIKAN BINDADD TERHADAP SISTEM KEPADA <authorization_name>
- BERIKAN AKSES PACKADM PADA <collection_name> KEPADA <authorization_name>
Menggunakan Power Query, sambungkan ke database IBM Db2 dan ambil daftar skema, tabel, dan tampilan. Konektor database Power Query IBM Db2 akan membuat paket NULLID.MSCS001 secara otomatis, dan kemudian memberikan hak eksekusi pada paket tersebut kepada publik.
Cabut otoritas untuk mengikat paket baru ke pengguna dengan salah satu perintah berikut:
- MEMBATALKAN BINDADD UNTUK <authorization_name>
- MENCABUT PACKADM PADA <collection_name> DARI <authorization_name>
Saat menyambungkan ke IBM Db2 untuk Linux, Unix, atau Windows, administrator Db2 dapat melakukan langkah-langkah berikut.
BERIKAN BINDADD PADA DATABASE KE PENGGUNA <authorization_name>.
Menggunakan Power Query, sambungkan ke database IBM Db2 dan ambil daftar skema, tabel, dan tampilan. Konektor Power Query IBM Db2 akan membuat paket NULLID.MSCS001 secara otomatis, dan kemudian memberikan hak eksekusi pada paket tersebut ke publik.
CABUT BINDADD PADA DATABASE DARI AUTHORIZATION_NAME <PENGGUNA>.
BERIKAN IZIN EKSEKUSI PADA PAKET <collection.package> KE PENGGUNA <authorization_name>.
Saat menyambungkan ke IBM Db2 untuk i, administrator Db2 dapat melakukan langkah-langkah berikut.
WRKOBJ QSYS/CRTSQLPKG. Ketik "2" untuk mengubah otoritas objek.
Ubah otoritas dari *EXCLUDE ke PUBLIC atau <authorization_name>.
Setelah itu, ubah otoritas kembali ke *EXCLUDE.
Kode kesalahan -360 SQLCODE
Saat mencoba menyambungkan ke database IBM Db2, Anda mungkin menemukan kesalahan berikut:
Microsoft Db2 Client: The host resource could not be found. Check that the Initial Catalog value matches the host resource name. SQLSTATE=HY000 SQLCODE=-360
Pesan kesalahan ini menunjukkan bahwa Anda tidak memasukkan nilai yang tepat untuk nama database.
Kode kesalahan SQLCODE -1336
The specified host could not be found.
Periksa kembali nama, dan konfirmasikan bahwa host dapat dijangkau. Misalnya, gunakan ping dalam prompt perintah untuk mencoba menjangkau server dan memastikan alamat IP sudah benar, atau gunakan telnet untuk berkomunikasi dengan server.
SQLCODE -1037 kode kesalahan
Host is reachable, but is not responding on the specified port.
Port ditentukan di akhir nama server, dipisahkan oleh titik dua. Jika dihilangkan, nilai default 50000 digunakan.
Untuk menemukan port Db2 yang digunakan untuk Linux, Unix, dan Windows, jalankan perintah ini:
db2 get dbm cfg | findstr SVCENAME
Periksa output untuk menemukan entri pada SVCENAME (dan SSL_SVCENAME untuk koneksi terenkripsi TLS). Jika nilai ini adalah angka, maka itu adalah port. Jika tidak, cocokkan nilai dengan tabel "layanan" sistem. Anda biasanya dapat menemukan ini di /etc/services, atau di c:\windows\system32\drivers\etc\services untuk Windows.
Cuplikan layar berikut menunjukkan output perintah ini di Linux/Unix.
gambar
Cuplikan layar berikut menunjukkan output perintah ini di Windows.
Menentukan nama database
Untuk menentukan nama database yang akan digunakan:
Pada IBM i, jalankan
DSPRDBDIRE
.Gambar
Salah satu entri akan memiliki Lokasi Jarak Jauh dari *LOKAL. Entri ini adalah entri yang akan digunakan.
Tentukan nomor port
Driver Microsoft tersambung ke database menggunakan protokol Arsitektur Database Hubungan Terdistribusi (DRDA). Port default untuk DRDA adalah port 446. Coba nilai ini terlebih dahulu.
Untuk menemukan port apa yang dijalankan layanan DRDA:
Jalankan perintah IBM i
WRKSRVTBLE
.Gulir ke bawah hingga Anda menemukan entri untuk DRDA.
Entri Tabel Layanan
Untuk mengonfirmasi bahwa layanan DRDA aktif dan mendengarkan di port tersebut, jalankan
NETSTAT
.DRDA mendengarkan
Pilih opsi 3 (untuk IPv4) atau opsi 6 (untuk IPv6).
Tekan F14 untuk melihat nomor port alih-alih nama, dan gulir hingga Anda melihat port yang dimaksud. Ini harus memiliki entri dengan status "Dengarkan".