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:
Veri Al'da IBM Db2 veritabanı seçeneğini belirleyin.
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ı şeklindedirNORTHWD2
.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.
Tamam'ı seçin.
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.
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.
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.
Power Query Online'dan IBM Db2 veritabanına Bağlan
Bağlantı oluşturmak için aşağıdaki adımları izleyin:
Power Query - veri kaynağına Bağlan sayfasında IBM Db2 veritabanı seçeneğini belirleyin.
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
Ş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.
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.
Kimlik bilgilerinizi girin.
Şifreli bağlantı kullanmak istiyorsanız Şifrelenmiş Bağlan kullan'ı seçin veya şifrelenmemiş bağlantı kullanmak istiyorsanız seçeneği temizleyin.
Devam etmek için İleri'yi seçin.
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.
Gelişmiş seçenekleri kullanarak Bağlan
Power Query, gerekirse sorgunuza ekleyebileceğiniz bir dizi gelişmiş seçenek sağlar.
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 NULLID kullanı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:
Makinenizde Windows PowerShell'i açın.
Aşağıdaki komutu girin:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv
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.
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 <>
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.
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.
USER <authorization_name'A> VERITABANıNDA BINDADD VERIN.
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.
KULLANıCı <authorization_name VERITABANıNDAKI BINDADD'YI> IPTAL EDIN.
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.
WRKOBJ QSYS/CRTSQLPKG. Nesne yetkilisini değiştirmek için "2" yazın.
Yetkiliyi *EXCLUDE olan public veya <authorization_name> olarak değiştirin.
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.
Aşağıdaki ekran görüntüsünde Windows'ta bu komutun çıkışı gösterilmektedir.
Veritabanı adını belirleme
Kullanılacak veritabanı adını belirlemek için:
IBM i üzerinde komutunu çalıştırın
DSPRDBDIRE
.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:
IBM i komutunu
WRKSRVTBLE
çalıştırın.DRDA için girdileri bulana kadar aşağı kaydırın.
DRDA hizmetinin çalışır durumda olduğunu ve bu bağlantı noktasında dinlediğini onaylamak için komutunu çalıştırın
NETSTAT
.3 seçeneğini (IPv4 için) veya 6 seçeneğini (IPv6 için) seçin.
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.