Aracılığıyla paylaş


IBM Db2 Veritabanı

Özet

Kalem Açıklama
Sürüm Durumu Genel Kullanılabilirlik
Ürünler Excel
Power BI (Anlam modelleri)
Power BI (Veri Akışları)
Doku (Veri Akışı 2. Nesil)
Power Apps (Veri Akışları)
Dynamics 365 Customer Insights
Desteklenen Kimlik Doğrulama Türleri Temel
Veritabanı
Windows
İşlev Başvurusu Belgeleri DB2. Veritabanı

Not

Dağıtım zamanlamaları ve konağa özgü özellikler nedeniyle bazı özellikler tek bir üründe mevcut olabilir, ancak diğerleri mevcut olmayabilir.

Önkoşullar

Varsayılan olarak, IBM Db2 veritabanı bağlayıcısı verilerinize bağlanmak için Microsoft sürücüsünü kullanır. Power Query Desktop'taki gelişmiş seçeneklerde IBM sürücüsünü kullanmayı seçerseniz, önce verilere bağlanmak için kullanılan makineye .NET için IBM Db2 sürücüsünü yüklemeniz gerekir. Bu sürücünün adı zaman zaman değişir, bu nedenle .NET ile çalışan IBM Db2 sürücüsünü yüklediğinizden emin olun. .NET için IBM Db2 sürücüsünü indirme, yükleme ve yapılandırma yönergeleri için İlk Sürüm 11.5 istemcilerini ve sürücülerini indirme bölümüne gidin. Daha fazla bilgi: Sürücü sınırlamaları, IBM Db2 sürücüsünün yüklü olduğundan emin olun

Desteklenen Özellikler

  • Import
  • DirectQuery (Power BI anlam modelleri)
  • Gelişmiş seçenekler
    • Sürücü (IBM veya Microsoft)
    • Dakika cinsinden komut zaman aşımı
    • Paket koleksiyonu
    • SQL statement
    • İlişki sütunlarını ekle
    • Tam hiyerarşi kullanarak gezin

Power Query Desktop'tan IBM Db2 veritabanına Bağlan

Bağlantı oluşturmak için aşağıdaki adımları izleyin:

  1. Veri Al'da IBM Db2 veritabanı seçeneğini belirleyin.

  2. Sunucu'da bağlanılacak IBM Db2 sunucusunu belirtin. Bir bağlantı noktası gerekiyorsa, SunucuAdı:Bağlantı Noktası biçimini kullanarak bunu belirtin; burada Bağlantı noktası, bağlantı noktası numarasıdır. Ayrıca, Veritabanı'nda erişmek istediğiniz IBM Db2 veritabanını girin. Bu örnekte sunucu adı ve bağlantı noktası ve TestIBMDb2server.contoso.com:4000 erişilmekte olan IBM Db2 veritabanı şeklindedir NORTHWD2.

    Enter IBM Db2 database connection.

  3. Power BI Desktop'tan bağlanıyorsanız İçeri Aktarma veya DirectQuery veri bağlantısı modunu seçin. Bu örnek adımların geri kalanında Verileri içeri aktarma bağlantı modu kullanılır. DirectQuery hakkında daha fazla bilgi edinmek için Power BI Desktop'ta DirectQuery kullanma bölümüne gidin.

    Not

    Varsayılan olarak, IBM Db2 veritabanı iletişim kutusu oturum açma sırasında Microsoft sürücüsünü kullanır. IBM sürücüsünü kullanmak istiyorsanız Gelişmiş seçenekler'i açın ve IBM'i seçin. Daha fazla bilgi: gelişmiş seçenekleri kullanarak Bağlan

    Veri bağlantı modunuz olarak DirectQuery'yi seçerseniz gelişmiş seçeneklerdeki SQL deyimi devre dışı bırakılır. DirectQuery şu anda IBM Db2 bağlayıcısı için yerel veritabanı sorgusunun üzerine sorgu göndermeyi desteklememektedir.

  4. Tamam'ı seçin.

  5. Bu IBM Db2 veritabanına ilk kez bağlanıyorsanız, kullanmak istediğiniz kimlik doğrulama türünü seçin, kimlik bilgilerinizi girin ve Bağlan seçin. Kimlik doğrulaması hakkında daha fazla bilgi için Veri kaynağıyla kimlik doğrulaması bölümüne gidin.

    Enter your IBM Db2 database credentials.

    Varsayılan olarak, Power Query şifreli bir bağlantı kullanarak IBM Db2 veritabanına bağlanmayı dener. Power Query şifreli bir bağlantı kullanarak bağlanamıyorsa, "bağlanılamıyor" iletişim kutusu görüntülenir. Şifrelenmemiş bağlantı kullanarak bağlanmak için Tamam'ı seçin.

    Unable to connect dialog box

  6. Gezgin'de ihtiyacınız olan verileri seçin, ardından verileri yüklemek için Yükle'yi veya verileri dönüştürmek için Verileri Dönüştür'ü seçin.

    Select the data you require from the database

Power Query Online'dan IBM Db2 veritabanına Bağlan

Bağlantı oluşturmak için aşağıdaki adımları izleyin:

  1. Power Query - veri kaynağına Bağlan sayfasında IBM Db2 veritabanı seçeneğini belirleyin.

  2. Sunucu'da bağlanılacak IBM Db2 sunucusunu belirtin. Bir bağlantı noktası gerekiyorsa, SunucuAdı:Bağlantı Noktası biçimini kullanarak bunu belirtin; burada Bağlantı noktası, bağlantı noktası numarasıdır. Ayrıca, Veritabanı'nda erişmek istediğiniz IBM Db2 veritabanını girin. Bu örnekte sunucu adı ve bağlantı noktası ile TestIBMDb2server.contoso.com:4000 erişilmekte olan IBM Db2 veritabanı şu şekildedir: NORTHWD2

  3. Şirket içi veri ağ geçidinizin adını seçin.

    Not

    IBM Db2 veritabanı yerel ağınızda mı yoksa çevrimiçi mi olsun, bu bağlayıcı için bir şirket içi veri ağ geçidi seçmeniz gerekir.

  4. Bu IBM Db2 veritabanına ilk kez bağlanıyorsanız Kimlik Doğrulama türü'nde bağlantı için kimlik bilgisi türünü seçin. Windows kimlik doğrulaması yerine IBM Db2 veritabanında oluşturulmuş bir hesap kullanmayı planlıyorsanız Temel'i seçin.

  5. Kimlik bilgilerinizi girin.

  6. Şifreli bağlantı kullanmak istiyorsanız Şifrelenmiş Bağlan kullan'ı seçin veya şifrelenmemiş bağlantı kullanmak istiyorsanız seçeneği temizleyin.

    Enter IBM Db2 database online connection.

  7. Devam etmek için İleri'yi seçin.

  8. Gezgin'de, ihtiyacınız olan verileri seçin ve ardından Verileri dönüştür'ü seçerek verileri Power Query Düzenleyicisi dönüştürün.

    Select the data you want to transform in the Navigator

Gelişmiş seçenekleri kullanarak Bağlan

Power Query, gerekirse sorgunuza ekleyebileceğiniz bir dizi gelişmiş seçenek sağlar.

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

Aşağıdaki tabloda Power Query'de ayarlayabileceğiniz tüm gelişmiş seçenekler listelenmiştir.

Gelişmiş seçenek Açıklama
Sürücü IBM Db2 veritabanınıza bağlanmak için hangi sürücünün kullanılacağını belirler. Seçenekler IBM ve Windows'tır (varsayılan). IBM sürücüsünü seçerseniz, önce makinenizde .NET için IBM Db2 sürücüsünün yüklü olduğundan emin olmanız gerekir. Bu seçenek yalnızca Power Query Desktop'ta kullanılabilir. Daha fazla bilgi: IBM Db2 sürücüsünün yüklü olduğundan emin olun
Dakika cinsinden komut zaman aşımı Bağlantınız 10 dakikadan uzun sürüyorsa (varsayılan zaman aşımı), bağlantıyı daha uzun süre açık tutmak için dakika cinsinden başka bir değer girebilirsiniz.
Paket koleksiyonu Paketlerin aranacağı yeri belirtir. Paketler, Db2 tarafından bir SQL deyimi işlenirken kullanılan denetim yapılarıdır ve gerekirse otomatik olarak oluşturulur. Varsayılan olarak, bu seçenek değerini NULLIDkullanır. Yalnızca Microsoft sürücüsünü kullanırken kullanılabilir. Daha fazla bilgi: DB2 paketleri: Kavramlar, örnekler ve yaygın sorunlar
SQL statement Bilgi için Yerel veritabanı sorgusu kullanarak veritabanından veri içeri aktarma bölümüne gidin.
İlişki sütunlarını ekle İşaretlenirse, diğer tablolarla ilişkileri olabilecek sütunları içerir. Bu kutu temizlenmişse bu sütunları görmezsiniz.
Tam hiyerarşi kullanarak gezin İşaretlenirse gezgin, bağlandığınız veritabanındaki tabloların tam hiyerarşisini görüntüler. Temizlenirse, gezgin yalnızca sütunları ve satırları veri içeren tabloları görüntüler.

İstediğiniz gelişmiş seçenekleri belirledikten sonra, IBM Db2 veritabanınıza bağlanmak için Power Query Desktop'ta Tamam'ı veya Power Query Online'da İleri'yi seçin.

Sorunlar ve sınırlamalar

Sürücü sınırlamaları

Microsoft sürücüsü, "DB2 için ADO.NET Sağlayıcısı" olarak adlandırılan Microsoft Host Integration Server'da kullanılan sürücüyle aynıdır. IBM sürücüsü, .NET ile çalışan IBM Db/2 sürücüsüdür. Bu sürücünün adı zaman zaman değişir, bu nedenle OLE/DB, ODBC veya JDBC ile çalışan IBM Db2 sürücülerinden farklı olan .NET ile çalışan sürücü olduğundan emin olun.

Power Query Desktop kullanıyorsanız Microsoft sürücüsünü (varsayılan) veya IBM sürücüsünü kullanmayı seçebilirsiniz. Şu anda Power Query Online yalnızca Microsoft sürücüsünü kullanmaktadır. Her sürücünün sınırlamaları vardır.

  • Microsoft sürücüsü
    • Aktarım Katmanı Güvenliğini (TLS) desteklemez
  • IBM sürücüsü
    • IBM Db2 veritabanı bağlayıcısı, .NET için IBM Db2 sürücüsünü kullanırken Mainframe veya IBM i sistemleriyle çalışmaz
    • DirectQuery'nin desteklemiyor

Microsoft, Microsoft sürücüsü için destek sağlar ancak IBM sürücüsü için destek sağlamaz. Ancak, BT departmanınız makinelerinizde zaten ayarlanmış ve yapılandırılmışsa, BT departmanınız IBM sürücüsünün sorunlarını nasıl gidereceklerini bilmelidir.

DirectQuery'de desteklenmeyen yerel sorgular

Power Query Desktop'ta veri bağlantısı modu olarak DirectQuery'yi seçtiğinizde, gelişmiş seçeneklerdeki SQL deyimi metin kutusu devre dışı bırakılır. Power Query IBM Db2 bağlayıcısı şu anda yerel veritabanı sorgusunun üzerine sorgu göndermeyi desteklemediğinden devre dışı bırakıldı.

Sorun giderme

IBM Db2 sürücüsünün yüklü olduğundan emin olun

Power Query Desktop için IBM Db2 sürücüsünü kullanmayı seçerseniz önce sürücüyü makinenizde indirmeniz, yüklemeniz ve yapılandırmanız gerekir. IBM Db2 sürücüsünün yüklendiğinden emin olmak için:

  1. Makinenizde Windows PowerShell'i açın.

  2. Aşağıdaki komutu girin:

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

  3. Açılan iletişim kutusunda, InvariantName sütununda aşağıdaki adı görmeniz gerekir:

    IBM.Data.DB2

Bu ad InvariantName sütunundaysa IBM Db2 sürücüsü doğru şekilde yüklenmiş ve yapılandırılmıştır.

SQLCODE -805 ve SQLCODE -551 hata kodları

IBM Db2 veritabanına bağlanmaya çalışırken, bazen paketin veya başka bir koleksiyonda (Power Query Paketi bağlantı yapılandırmasında belirtilen) bulunamadığını belirten SQLCODE -805 yaygın hatasıyla NULLID karşılaşabilirsiniz. Paket bağlama yetkisine sahip olmadığınız için paket oluşturamadığınızı gösteren SQLCODE -551 yaygın hatasıyla da karşılaşabilirsiniz.

Genellikle SQLCODE -805'i sqlcode -551 izler, ancak yalnızca ikinci özel durumu görürsünüz. Gerçekte sorun aynıdır. Paketi ya da NULLID belirtilen koleksiyona bağlama yetkiniz yok.

Ibm Db2 yöneticilerinin çoğu genellikle son kullanıcılara(özellikle ibm z/OS (ana bilgisayar) veya IBM i (AS/400) ortamında bağlama paketi yetkisi sağlamaz. Linux, Unix veya Windows üzerinde Db2, kullanıcı hesaplarının varsayılan olarak bağlama ayrıcalıklarına sahip olduğundan farklıdır ve bu da kullanıcının kendi koleksiyonunda (ad = kullanıcı oturum açma adı) MSCS001 (İmleç Kararlılığı) paketini oluşturur.

Bağlama paketi ayrıcalıklarınız yoksa Db2 yöneticinizden paket bağlama yetkilisi istemeniz gerekir. Bu paket bağlama yetkilisiyle veritabanına bağlanın ve paketi otomatik olarak oluşturacak verileri getirin. Daha sonra, yönetici paketleme bağlama yetkilisini iptal edebilir. Ayrıca, daha sonra yönetici paketi diğer koleksiyonlara "bağlayarak" eşzamanlılığı artırabilir, paketlerin bağlı olduğu iç standartlarınıza daha iyi uyum sağlayabilir ve bu şekilde devam edebilir.

Z/OS için IBM Db2'ye bağlanırken Db2 yöneticisi aşağıdaki adımları gerçekleştirebilir.

  1. Kullanıcıya aşağıdaki komutlardan biriyle yeni bir paket bağlama yetkisi verin:

    • AUTHORIZATION_NAME IÇIN SISTEMDE BINDADD VERME <>
    • COLLECTION_NAME ÜZERINDE <AUTHORIZATION_NAME> IÇIN PACKADM VERME <>
  2. Power Query'yi kullanarak IBM Db2 veritabanına bağlanın ve şemaların, tabloların ve görünümlerin listesini alın. Power Query IBM Db2 veritabanı bağlayıcısı, NULLID paketini otomatik olarak oluşturur. MSCS001 ve ardından paketin üzerinde yürütmeyi public olarak verin.

  3. Aşağıdaki komutlardan biriyle kullanıcıya yeni bir paket bağlama yetkisini iptal edin:

    • AUTHORIZATION_NAME'DAN BINDADD'YI <İPTAL ET>
    • AUTHORIZATION_NAME'DEN< COLLECTION_NAME> ÜZERINDE <PACKADM'yi IPTAL ETME>

Linux, Unix veya Windows için IBM Db2'ye bağlanırken Db2 yöneticisi aşağıdaki adımları gerçekleştirebilir.

  1. USER <authorization_name'A> VERITABANıNDA BINDADD VERIN.

  2. Power Query'yi kullanarak IBM Db2 veritabanına bağlanın ve şemaların, tabloların ve görünümlerin listesini alın. Power Query IBM Db2 bağlayıcısı, NULLID paketini otomatik olarak oluşturur. MSCS001 ve ardından paketin üzerinde yürütmeyi public olarak verin.

  3. KULLANıCı <authorization_name VERITABANıNDAKI BINDADD'YI> IPTAL EDIN.

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

i için IBM Db2'ye bağlanırken Db2 yöneticisi aşağıdaki adımları gerçekleştirebilir.

  1. WRKOBJ QSYS/CRTSQLPKG. Nesne yetkilisini değiştirmek için "2" yazın.

  2. Yetkiliyi *EXCLUDE olan public veya <authorization_name> olarak değiştirin.

  3. Daha sonra, yetkiliyi *EXCLUDE olarak değiştirin.

SQLCODE -360 hata kodu

IBM Db2 veritabanına bağlanmaya çalışırken aşağıdaki hatayla karşılaşabilirsiniz:

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

Bu hata iletisi, veritabanı adı için doğru değeri yerleştirmediğinize işaret eder.

SQLCODE -1336 hata kodu

The specified host could not be found.

Adı bir kez daha denetleyin ve konağa ulaşılabilir olduğunu onaylayın. Örneğin, sunucuya ulaşmayı ve IP adresinin doğru olduğundan emin olmak için komut isteminde ping komutunu kullanın veya sunucuyla iletişim kurmak için telnet kullanın.

SQLCODE -1037 hata kodu

Host is reachable, but is not responding on the specified port.

Bağlantı noktası, sunucu adının sonunda iki nokta üst üste ile ayrılmış olarak belirtilir. Atlanırsa, varsayılan 50000 değeri kullanılır.

Db2'nin Linux, Unix ve Windows için kullandığı bağlantı noktasını bulmak için şu komutu çalıştırın:

db2 get dbm cfg | findstr SVCENAME

Çıktıda SVCENAME (ve TLS şifreli bağlantılar için SSL_SVCENAME) girdisine bakın. Bu değer bir sayıysa, bağlantı noktası budur. Aksi takdirde, sistemin "services" tablosuyla değere çapraz başvuruda bulunur. Bunu genellikle /etc/services veya windows için c:\windows\system32\drivers\etc\services konumunda bulabilirsiniz.

Aşağıdaki ekran görüntüsünde Linux/Unix'te bu komutun çıkışı gösterilmektedir.

Image with output of the db2 command in Linux and Unix

Aşağıdaki ekran görüntüsünde Windows'ta bu komutun çıkışı gösterilmektedir.

Image with output of the db2 command in Windows

Veritabanı adını belirleme

Kullanılacak veritabanı adını belirlemek için:

  1. IBM i üzerinde komutunu çalıştırın DSPRDBDIRE.

    Image showing the output of the Display Relational Database Directory Entries

  2. Girdilerden birinin Uzak Konumu *LOCAL olacaktır. Bu girdi, kullanılacak giriştir.

Bağlantı noktası numarasını belirleme

Microsoft sürücüsü, Dağıtılmış İlişkisel Veritabanı Mimarisi (DRDA) protokolünün kullanıldığı veritabanına bağlanır. DRDA için varsayılan bağlantı noktası 446 numaralı bağlantı noktasıdır. Önce bu değeri deneyin.

DRDA hizmetinin hangi bağlantı noktasında çalıştığını bulmak için:

  1. IBM i komutunu WRKSRVTBLEçalıştırın.

  2. DRDA için girdileri bulana kadar aşağı kaydırın.

    Service Table Entries

  3. DRDA hizmetinin çalışır durumda olduğunu ve bu bağlantı noktasında dinlediğini onaylamak için komutunu çalıştırın NETSTAT.

    DRDA listening

  4. 3 seçeneğini (IPv4 için) veya 6 seçeneğini (IPv6 için) seçin.

  5. Adlar yerine bağlantı noktası numaralarını görmek için F14 tuşuna basın ve söz konusu bağlantı noktasını görene kadar kaydırın. "Dinle" durumuna sahip bir girdisi olmalıdır.

    IP connection status

Daha Fazla Bilgi