Aracılığıyla paylaş


IBM Db2 veritabanı

Özet

Madde Açıklama
Sürüm Durumu Genel Kullanılabilirlik
Ürünler Excel
Power BI (Anlam modelleri)
Power BI (Veri Akışları)
Yapı (Dataflow 2. Nesil)
Power Apps (Veri Akışları)
Dynamics 365 Müşteri İçgörüleri
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

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

Power Query Desktop'tan IBM Db2 veritabanına bağlanma

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

  1. "Veri Albölümünden IBM Db2 veritabanı seçeneğini belirleyin."

  2. Server'nde bağlanılacak IBM Db2 sunucusunu belirtin. Bağlantı noktası gerekiyorsa, bağlantı noktası numarasının Port olduğu ServerName:Portformatını kullanarak belirtin. Ayrıca, Veritabanı'nde erişmek istediğiniz IBM Db2 veritabanını girin. Bu örnekte sunucu adı ve bağlantı noktası TestIBMDb2server.contoso.com:4000 ve erişilmekte olan IBM Db2 veritabanı NORTHWD2.

    IBM Db2 veritabanı bağlantısını girin.

  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 Kullanmabö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 açın ve IBMseçeneğini belirleyin. Daha fazla bilgi: Gelişmiş seçenekleri kullanarak bağlanma

    Veri bağlantı modu olarak DirectQuery 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. seçin tamam.

  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 vebağlan seçin. Kimlik doğrulaması hakkında daha fazla bilgi içinveri kaynağıyla Kimlik Doğrulaması bölümüne gidin.

    IBM Db2 veritabanı kimlik bilgilerinizi girin.

    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ş bir bağlantı kullanarak bağlanmak için Tamam'ıseçin.

    Bağlanılamıyor iletişim kutusu

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

    Veritabanından istediğiniz verileri seçin

Power Query Online'dan IBM Db2 veritabanına bağlanma

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

  1. Power Query - Veri kaynağına bağlan sayfasındaki IBM Db2 veritabanı seçeneğini seçin.

  2. Server'nde bağlanılacak IBM Db2 sunucusunu belirtin. Bağlantı noktası gerekiyorsa, ServerName:Portbiçimini kullanarak belirtin; burada Bağlantı Noktası bağlantı noktası numarasıdır. Ayrıca, Veritabanı'nde erişmek istediğiniz IBM Db2 veritabanını girin. Bu örnekte sunucu adı ve bağlantı noktası TestIBMDb2server.contoso.com:4000 ve erişilmekte olan IBM Db2 veritabanı 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ğrulaması türübağlantısı 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 seçin.

  5. Kimlik bilgilerinizi girin.

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

    IBM Db2 veritabanı çevrimiçi bağlantısını girin.

  7. Devam etmek için Sonraki seçin.

  8. Gezgin'de, ihtiyacınız olan verileri seçin, ardından Power Query Düzenleyicisi'nde verileri dönüştürmek için Verileri dönüştürme seçeneğini seçin.

    Dönüştürmek istediğiniz verileri Gezgin'de seçin

Gelişmiş seçenekleri kullanarak bağlanma

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

IBM Db2 veritabanı bağlantısı iletişim kutusunda bulunan Gelişmiş seçenekler.

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üklendiğinden 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 toplama 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 NULLIDdeğerini kullanır. Yalnızca Microsoft sürücüsünü kullanırken kullanılabilir. Daha fazla bilgi: DB2 paketlerini : Kavramlar, örnekler ve yaygın sorunlar
SQL deyimi Bilgi için yerel veritabanı sorgusunu kullanarak veritabanından veri aktarmaya 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 gezinme İş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.

Gerekli gelişmiş seçenekleri seçtikten sonra, IBM Db2 veritabanınıza bağlanmak için Power Query Desktop'ta Tamam seçeneğini veya Power Query Online'da Sonraki seçeneğini belirleyin.

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ği'ni (TLS) yalnızca Power BI Desktop'ın Aralık 2024 veya sonraki sürümleriyle destekler
  • 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'yi 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 NULLID veya başka bir koleksiyonda bulunamadığını belirten (Power Query Paket bağlantısı yapılandırmasında belirtilen) SQLCODE -805 yaygın hatasıyla 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.

SqlCODE -805 genellikle SQLCODE -551 izler, ancak yalnızca ikinci özel durumu görürsünüz. Gerçekte sorun aynıdır. Paketi NULLID veya 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 yetkisi 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> ÜZERİNDE PACKADM YETKİSİNİ <AUTHORIZATION_NAME> KULLANICIYA VER
  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.MSCS001 paketini otomatik olarak oluşturacak ve ardından paketin üzerinde yürütme iznini herkese verecektir.

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

    • < authorization_name>'DAN BINDADD'YI İPTAL ET
    • < collection_name> ÜZERİNDE PACKADM'İ <authorization_name> İPTAL ET

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

  1. < AUTHORIZATION_NAME>KULLANıCıYA 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.MSCS001 paketini otomatik olarak oluşturur ve ardından paketin üzerinde genel kullanıma yürütme izni verir.

  3. USER <authorization_name>VERİTABANINDAN BINDADD YETKİSİNİ İPTAL EDİN.

  4. GRANT EXECUTE ON PACKAGE <koleksiyon.package> KULLANICIYA <authorization_name>VER.

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. *EXCLUDE olan yetkiyi, PUBLIC veya <authorization_name>olarak değiştirin.

  3. Daha sonra, yetkiyi *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ı tekrar kontrol edin ve sunucuya ulaşılıp ulaşılamadığını onaylayın. Örneğin, sunucuya ulaşmayı ve IP adresinin doğru olduğundan emin olmak için komut isteminde ping 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 ile ayırarak 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, değeri sistemin "services" tablosu ile karşılaştırın. 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.

Linux ve Unix'te db2 komutunun çıkışının gösterildiği görüntü

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

Windows'da db2 komutunun çıktısının yer aldığı görüntü

Veritabanı adını belirleme

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

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

    İlişkisel Veritabanı Dizin Girdileri Çıktısını Gösteren Görüntü

  2. Girdilerden birinde *LOCALUzak Konum bulunur. Bu girdi, kullanılacak olandır.

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.

    Hizmet Tablosu Girdileri

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

    DRDA dinleme

  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 bağlantı durumunu

Daha fazla bilgi