Bagikan melalui


Database Db2 IBM

Ringkasan

Item Deskripsi
Status Rilis Ketersediaan Umum
Produk Excel
Power BI (Model semantik)
Power BI (Aliran Data)
Fabric (Dataflow Gen2)
Power Apps (Aliran Data)
Dynamics 365 Customer Insights
Jenis Autentikasi Didukung Dasar
Database
Jendela
Dokumentasi Referensi Fungsi DB2. Database

Catatan

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 11.5 awal. Informasi selengkapnya: Keterbatasan driver, Pastikan driver IBM Db2 diinstal

Kapabilitas yang Didukung

  • Import
  • DirectQuery (model semantik Power BI)
  • Opsi tingkat lanjut
    • Driver (IBM atau Microsoft)
    • Batas waktu perintah dalam menit
    • Koleksi paket
    • Pernyataan SQL
    • Menyertakan kolom hubungan
    • Menavigasi menggunakan hierarki lengkap

Koneksi ke database IBM Db2 dari Power Query Desktop

Untuk membuat koneksi, lakukan langkah-langkah berikut:

  1. Pilih opsi database IBM Db2 dari Dapatkan Data.

  2. 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 adalah TestIBMDb2server.contoso.com:4000 dan database IBM Db2 yang diakses adalah NORTHWD2.

    Enter IBM Db2 database connection.

  3. Jika Anda menyambungkan dari Power BI Desktop, pilih mode konektivitas data Impor atau DirectQuery . Sisa langkah-langkah contoh ini menggunakan mode impor konektivitas data. Untuk mempelajari selengkapnya tentang DirectQuery, lihat Menggunakan DirectQuery di Power BI Desktop.

    Catatan

    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: Koneksi 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.

  4. Pilih OK.

  5. Jika ini pertama kalinya Anda menyambungkan ke database IBM Db2 ini, pilih jenis autentikasi yang ingin Anda gunakan, masukkan kredensial Anda, lalu pilih Koneksi. Untuk informasi selengkapnya tentang autentikasi, buka Autentikasi dengan sumber data.

    Enter your IBM Db2 database credentials.

    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.

    Unable to connect dialog box

  6. Di Navigator, pilih data yang Anda perlukan, lalu pilih Muat untuk memuat data atau Mengubah Data untuk mengubah data.

    Select the data you require from the database

Koneksi ke database IBM Db2 dari Power Query Online

Untuk membuat koneksi, lakukan langkah-langkah berikut:

  1. Pilih opsi database IBM Db2 di halaman Power Query - Koneksi ke sumber data.

  2. 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 adalah TestIBMDb2server.contoso.com:4000 dan database IBM Db2 yang diakses adalah NORTHWD2

  3. Pilih nama gateway data lokal Anda.

    Catatan

    Anda harus memilih gateway data lokal untuk konektor ini, baik database IBM Db2 berada di jaringan lokal Anda atau online.

  4. 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 di database IBM Db2, bukan autentikasi Windows.

  5. Masukkan kredensial Anda.

  6. Pilih Gunakan Koneksi si Terenkripsi jika Anda ingin menggunakan koneksi terenkripsi, atau hapus opsi jika Anda ingin menggunakan koneksi yang tidak terenkripsi.

    Enter IBM Db2 database online connection.

  7. Untuk melanjutkan, klik Berikutnya.

  8. Di Navigator, pilih data yang Anda butuhkan, lalu pilih Ubah data untuk mengubah data di Editor Power Query.

    Select the data you want to transform in the Navigator

Menyambungkan menggunakan opsi tingkat lanjut

Power Query menyediakan sekumpulan opsi tingkat lanjut yang bisa Anda tambahkan ke kueri Anda jika diperlukan.

Advanced options included in the IBM Db2 database connection dialog box.

Tabel berikut ini mencantumkan semua opsi tingkat lanjut yang bisa Anda atur di Power Query.

Opsi tingkat lanjut Deskripsi
Driver 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 berlangsung lebih dari 10 menit (batas waktu default), Anda dapat memasukkan nilai lain dalam hitungan menit untuk menjaga koneksi 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
Pernyataan SQL Untuk informasi, buka Mengimpor data dari database menggunakan kueri database asli.
Menyertakan kolom hubungan Jika dicentang, menyertakan kolom yang mungkin memiliki hubungan dengan tabel lain. Jika kotak ini dikosongkan, Anda tidak akan melihat kolom tersebut.
Menavigasi menggunakan hierarki lengkap Jika dicentang, navigator menampilkan hierarki lengkap dari 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.

  • Driver Microsoft
    • Tidak mendukung Keamanan Lapisan Transportasi (TLS)
  • 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:

  1. Buka Windows PowerShell di komputer Anda.

  2. Masukkan perintah berikut:

    [System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv

  3. 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, Terkadang Anda mungkin menemukan kesalahan umum SQLCODE -805, yang menunjukkan 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, SQLCODE -805 diikuti oleh SQLCODE -551, tetapi Anda hanya akan melihat pengecualian kedua. Pada kenyataannya, masalahnya sama. Anda tidak memiliki otoritas untuk mengikat paket ke salah satu 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 dalam akun pengguna tersebut memiliki hak istimewa yang mengikat secara default, yang membuat paket MSCS001 (Stabilitas Kursor) dalam koleksi pengguna sendiri (nama = nama login pengguna).

Jika Anda tidak memiliki hak istimewa paket pengikatan, Anda harus meminta otoritas pengikatan 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, setelah itu, administrator dapat "mengikat salinan" paket ke koleksi lain—untuk meningkatkan konkurensi, agar lebih sesuai dengan standar internal Anda di mana paket terikat, dan sebagainya.

Saat menyambungkan ke IBM Db2 untuk z/OS, administrator Db2 dapat melakukan langkah-langkah berikut.

  1. Berikan otoritas untuk mengikat paket baru kepada pengguna dengan salah satu perintah berikut:

    • MEMBERIKAN BINDADD PADA SISTEM KE <authorization_name>
    • BERIKAN PACKADM PADA <collection_name> KE <authorization_name>
  2. 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 secara otomatis. MSCS001, lalu berikan eksekusi pada paket ke publik.

  3. Cabut otoritas untuk mengikat paket baru ke pengguna dengan salah satu perintah berikut:

    • MENCABUT BINDADD DARI <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.

  1. BERIKAN BINDADD PADA DATABASE KE AUTHORIZATION_NAME> PENGGUNA<.

  2. Menggunakan Power Query, sambungkan ke database IBM Db2 dan ambil daftar skema, tabel, dan tampilan. Konektor Power Query IBM Db2 akan membuat paket NULLID secara otomatis. MSCS001, lalu berikan eksekusi pada paket ke publik.

  3. CABUT BINDADD PADA DATABASE DARI AUTHORIZATION_NAME> PENGGUNA<.

  4. GRANT EXECUTE ON PACKAGE <collection.package> TO USER <authorization_name>.

Saat menyambungkan ke IBM Db2 untuk i, administrator Db2 dapat melakukan langkah-langkah berikut.

  1. WRKOBJ QSYS/CRTSQLPKG. Ketik "2" untuk mengubah otoritas objek.

  2. Ubah otoritas dari *KECUALIKAN ke PUBLIK atau <authorization_name>.

  3. Setelah itu, ubah otoritas kembali ke *EXCLUDE.

Kode kesalahan SQLCODE -360

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.

Kode kesalahan SQLCODE -1037

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

Lihat di output untuk entri untuk SVCENAME (dan SSL_SVCENAME untuk koneksi terenkripsi TLS). Jika nilai ini adalah angka, itu adalah port. Jika tidak, referensi silang 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.

Image with output of the db2 command in Linux and Unix

Cuplikan layar berikut menunjukkan output perintah ini di Windows.

Image with output of the db2 command in Windows

Menentukan nama database

Untuk menentukan nama database yang akan digunakan:

  1. Pada IBM i, jalankan DSPRDBDIRE.

    Image showing the output of the Display Relational Database Directory Entries

  2. Salah satu entri akan memiliki Lokasi Jarak Jauh *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:

  1. Jalankan perintah WRKSRVTBLEIBM i .

  2. Gulir ke bawah hingga Anda menemukan entri untuk DRDA.

    Service Table Entries

  3. Untuk mengonfirmasi bahwa layanan DRDA aktif dan mendengarkan di port tersebut, jalankan NETSTAT.

    DRDA listening

  4. Pilih opsi 3 (untuk IPv4) atau opsi 6 (untuk IPv6).

  5. Tekan F14 untuk melihat nomor port alih-alih nama, dan gulir hingga Anda melihat port yang dimaksud. Ini harus memiliki entri dengan status "Dengarkan".

    IP connection status

Informasi selengkapnya