İngilizce dilinde oku

Aracılığıyla paylaş


ODBC tabanlı bağlayıcı için DirectQuery'yi etkinleştirme

M'nin yerleşik Odbc.DataSource işlevini kullanmak, mevcut ODBC sürücüsüne sahip veri kaynakları için özel bağlayıcılar oluşturmanın ve/veya SQL sorgu söz dizimini desteklemenin önerilen yoludur. Odbc.DataSource işlevini sarmalama, bağlayıcınızın sürücünüz tarafından bildirilen özelliklere göre varsayılan sorgu katlama davranışını devralmasını sağlar. Bu davranış, M altyapısının bağlayıcının içinde bu mantığı sağlamak zorunda kalmadan Power Query deneyiminde kullanıcı tarafından tanımlanan filtrelere ve diğer dönüştürmelere dayalı SQL deyimleri oluşturmasını sağlar.

ODBC uzantıları isteğe bağlı olarak DirectQuery modunu etkinleştirerek Power BI'ın kullanıcının veri modelini önceden ayarlamadan çalışma zamanında dinamik olarak sorgu oluşturmasına olanak tanır.

Not

DirectQuery desteğinin etkinleştirilmesi bağlayıcınızın zorluk ve karmaşıklık düzeyini yükseltir. DirectQuery etkinleştirildiğinde Power BI, M altyapısının temel alınan veri kaynağına tam olarak gönderilmeyecek işlemler için telafi etmesini engeller.

Bu makalede, temel bir özel bağlayıcı oluşturma hakkında bilgi sahibi olduğunuz varsayılır.

Aşağıdaki bölümlerdeki kod örneklerinin çoğu için SqlODBC örneğine bakın. Diğer örnekler ODBC örnekleri dizininde bulunabilir.

ODBC genişletilebilirlik işlevleri

M altyapısı ODBC ile ilgili iki veri kaynağı işlevi sağlar: Odbc.DataSource ve Odbc.Query.

Odbc.DataSource işlevi, sisteminizdeki tüm veritabanlarını, tabloları ve görünümleri içeren varsayılan bir gezinti tablosu sağlar. Bu işlev sorguyu kaynağa döndürmeyi de destekler ve çeşitli özelleştirme seçenekleri sağlar. ODBC tabanlı uzantıların çoğu bu işlevi birincil genişletilebilirlik işlevi olarak kullanır. İşlev iki bağımsız değişken kabul eder: bir bağlantı dizesi ve davranış geçersiz kılmaları sağlamak için bir seçenek kaydı.

Odbc.Query işlevi, SQL deyimlerini bir ODBC sürücüsü aracılığıyla yürütmenize olanak tanır. Sorgu yürütme için bir geçiş görevi görür. Odbc.DataSource işlevinin aksine, sorgu katlama işlevselliği sağlamaz ve sql sorgularının bağlayıcı (veya son kullanıcı) tarafından sağlanmasını gerektirir. Özel bir bağlayıcı oluşturduğunuzda, bu işlev genellikle normal ODBC kanalları aracılığıyla kullanıma sunulmayabilecek meta verileri almak üzere sorguları çalıştırmak için dahili olarak kullanılır. İşlev iki bağımsız değişken kabul eder: bir bağlantı dizesi ve bir SQL sorgusu.

Veri kaynağı işlevi yönergeleri

Özel bağlayıcılar herhangi bir sayıda işlev bağımsız değişkenini kabul edebilir. Ancak Power Query ile birlikte gelen yerleşik veri kaynağı işlevleriyle tutarlı kalmak için aşağıdaki yönergeler önerilir:

  • Sunucunuzla bağlantı kurmak için kullanılan en düşük parametre kümesini gerekli hale getirmek. Son kullanıcıların sağlaması gereken parametre sayısı ne kadar az olursa bağlayıcınızın kullanımı o kadar kolay olur.

  • Sabit sayıda değer içeren parametreler tanımlayabilirsiniz (örneğin, kullanıcı arabirimindeki bir açılan liste), kullanıcının kimliği doğrulandıktan önce parametreler girilir. Kullanıcının kimliği doğrulandıktan sonra program aracılığıyla bulunabilecek tüm değerler (katalog veya veritabanı adı gibi) Gezgin aracılığıyla seçilebilir olmalıdır. Odbc.DataSource işlevinin varsayılan davranışı Katalog (Veritabanı), Şema ve Tablo adlarından oluşan hiyerarşik bir gezinti tablosu döndürmektir. Ancak, bu davranış bağlayıcınızın içinde geçersiz kılınabilir.

  • Kullanıcılarınızın Gezgin'den (veritabanı adı gibi) seçecekleri öğeler için genellikle hangi değerlerin gireceğini bildiğini düşünüyorsanız, bu parametreleri isteğe bağlı hale getirin. Program aracılığıyla bulunabilecek parametreler gerekli hale getirilmemelidir.

  • İşlevinizin son parametresi "options" adlı isteğe bağlı bir kayıt olmalıdır. Bu parametre genellikle ileri düzey kullanıcıların ODBC ile ilgili ortak özellikleri (gibi CommandTimeout), bağlayıcınıza özgü davranış geçersiz kılmalarını ayarlamasına olanak tanır ve işlevinizin geriye dönük uyumluluğunu etkilemeden gelecekteki genişletilebilirliği sağlar.

  • Bağlan iletişim kutusuna girilen değerler kullanıcının sorgusunda kalıcı olduğundan, güvenlik/kimlik bilgileriyle ilgili bağımsız değişkenler hiçbir zaman veri kaynağı işlev parametrelerinizin parçası olmamalıdır. Kimlik bilgileriyle ilgili parametreler bağlayıcının desteklenen Kimlik Doğrulama yöntemlerinin bir parçası olarak belirtilmelidir.

Varsayılan olarak, veri kaynağı işleviniz için gerekli tüm parametreler, kullanıcı kimlik bilgilerini tanımlamak için kullanılan Veri Kaynağı Yolu değerine eklenir.

Yerleşik Odbc.DataSource işlevinin kullanıcı arabirimi, kullanıcının DSN seçmesine olanak tanıyan bir açılan menü sağlar ancak bu işlev genişletilebilirlik aracılığıyla kullanılamaz. Veri kaynağı yapılandırmanız tamamen özelleştirilebilir bir yapılandırma iletişim kutusu gerektirecek kadar karmaşıksa, son kullanıcılarınızın bir sistem DSN'sini önceden yapılandırmalarını ve işlevinizin DSN adını metin alanı olarak almasını öneririz.