Microsoft Fabric Veri Mühendisliği için Microsoft ODBC sürücüsü (Önizleme)

Önemli

Bu özellik önizleme aşamasındadır.

ODBC (Açık Veritabanı Bağlantısı), istemci uygulamalarının veritabanlarından ve büyük veri platformlarından verilere bağlanmasını ve verilerle çalışmasını sağlayan yaygın olarak benimsenen bir standarttır.

Microsoft ODBC Driver for Fabric Data Engineering, ODBC standardının güvenilirliği ve sadeliğiyle Fabric'te Spark iş yüklerini bağlamanıza, sorgulamanıza ve yönetmenize olanak tanır. Fabric'in Livy API'leri üzerine inşa edilen sürücü, .NET, Python ve diğer ODBC uyumlu uygulamalar ile BI araçlarınıza güvenli ve esnek Spark SQL bağlantısı sağlar.

Temel özellikler

  • ODBC 3.x uyumlu: ODBC 3.x belirtiminin tam uygulaması
  • Microsoft Entra ID kimlik doğrulaması: Azure CLI, etkileşimli, istemci kimlik bilgileri, sertifika tabanlı ve erişim belirteci kimlik doğrulaması gibi birden çok kimlik doğrulama akışı
  • Spark SQL sorgu desteği: Spark SQL deyimlerinin doğrudan yürütülmesi
  • Kapsamlı veri türü desteği: Karmaşık türler (ARRAY, MAP, STRUCT) dahil olmak üzere tüm Spark SQL veri türleri için destek
  • Oturumu yeniden kullanma: Gelişmiş performans için yerleşik oturum yönetimi
  • Büyük tablo desteği: Yapılandırılabilir sayfa boyutlarına sahip büyük sonuç kümeleri için iyileştirilmiş işleme
  • Zaman uyumsuz önyükleme: Gelişmiş performans için arka planda veri yükleme
  • Ara sunucu desteği: Kurumsal ortamlar için HTTP proxy yapılandırması
  • Çok şemalı göl evi desteği: Bir göl evi içindeki belirli şemaya bağlanın
  • OneLake entegrasyonu: OneLake'de depolanan lakehouse verilerine, birden fazla şema üzerindeki tablolar dahil, ayrı bir depolama yapılandırması olmadan birleşik bir ODBC arayüzü üzerinden erişim
  • Environment öğeleri desteği: Her oturuma çalışma alanı kitaplıklarını, Spark özelliklerini ve değişkenleri uygulamak için iş yürütülürken Fabric ortam öğelerini ekleyin
  • Özel Spark yapılandırması: Oturum davranışını ayarlamak için Spark yapılandırma özelliklerini doğrudan bağlantı dizesi geçirin

Uyarı

Açık kaynak Apache Spark'ta veritabanı ve şema eş anlamlı olarak kullanılır. Örneğin, çalıştırmak SHOW SCHEMAS veya SHOW DATABASES bir Fabric defterinde aynı sonucu döndürür — göl evindeki tüm şemaların listesi.

Önkoşullar

Microsoft Fabric Veri Mühendisliği için Microsoft ODBC Sürücüsü'ne başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • İşletim Sistemi: Windows 10/11 veya Windows Server 2016+
  • Fabric Erişimi: Bir Fabric çalışma alanına erişim
  • Microsoft Entra ID kimlik bilgileri: Kimlik doğrulaması için uygun kimlik bilgileri
  • İş Alanı ve Göl Evi Kimlikleri: Fabric çalışma alanı ve göl eviniz için GUID tanımlayıcıları
  • Azure CLI (isteğe bağlı): Azure CLI kimlik doğrulama yöntemi için gereklidir

İndirme ve MSI yüklemesi

Microsoft Fabric Veri Mühendisliği sürüm 1.0.0 için Microsoft ODBC Sürücüsü, bu indirme merkezi bağlantısından indirebileceğiniz genel önizleme aşamasındadır.

  1. Microsoft Fabric Veri Mühendisliği MSI paketi için Microsoft ODBC Sürücüsünü indirin
  2. Çift tıklayın MicrosoftFabricODBCDriver-1.0.msi
  3. Yükleme sihirbazını izleyin ve lisans sözleşmesini kabul edin
  4. Yükleme dizinini seçin (varsayılan: C:\Program Files\Microsoft ODBC Driver for Microsoft Fabric Data Engineering\)
  5. Yüklemeyi tamamlama

Sessiz yükleme

# Silent installation
msiexec /i "MicrosoftFabricODBCDriver-1.0.msi" /quiet

# Installation with logging
msiexec /i "MicrosoftFabricODBCDriver-1.0.msi" /l*v install.log

Yüklemeyi doğrulama

Yüklemeden sonra sürücünün kayıtlı olduğunu doğrulayın:

  1. Çalıştır odbcad32.exe (ODBC Veri Kaynağı Yöneticisi)
  2. Sürücüler sekmesine gidin
  3. "Microsoft Fabric Veri Mühendisliği için Microsoft ODBC Sürücüsü" öğesinin listelendiğini doğrulayın

Hızlı başlangıç örneği

Bu örnek, Microsoft ODBC Driver for Microsoft Fabric Data Engineering ile Fabric'e nasıl bağlanıp sorgu yürütüleceğini gösterir. Bu kodu çalıştırmadan önce önkoşulları tamamladığınızdan ve sürücüyü yüklediğinizden emin olun.

Python örneği

import pyodbc

# Connection string with required parameters
connection_string = (
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
    "WorkspaceId=<workspace-id>;"
    "LakehouseId=<lakehouse-id>;"
    "AuthFlow=AZURE_CLI;"
)

# Connect and execute query
conn = pyodbc.connect(connection_string, timeout=30)
cursor = conn.cursor()

cursor.execute("SELECT 'Hello from Fabric!' as message")
row = cursor.fetchone()
print(row.message)

conn.close()

.NET örneği

using System.Data.Odbc;

// Connection string with required parameters
string connectionString = 
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};" +
    "WorkspaceId=<workspace-id>;" +
    "LakehouseId=<lakehouse-id>;" +
    "AuthFlow=AZURE_CLI;";

using var connection = new OdbcConnection(connectionString);
await connection.OpenAsync();

Console.WriteLine("Connected successfully!");

using var command = new OdbcCommand("SELECT 'Hello from Fabric!' as message", connection);
using var reader = await command.ExecuteReaderAsync();

if (await reader.ReadAsync())
{
    Console.WriteLine(reader.GetString(0));
}

Bağlantı dizesi biçimi

Temel bağlantı dizesi

Microsoft Fabric Veri Mühendisliği için Microsoft ODBC Sürücüsü aşağıdaki bağlantı dizesi biçimini kullanır:

DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};<parameter1>=<value1>;<parameter2>=<value2>;...

Bağlantı dizesi bileşenleri

Bileşen Description Example
SÜRÜCÜ ODBC sürücü tanımlayıcısı {Microsoft ODBC Driver for Microsoft Fabric Data Engineering}
WorkspaceId Fabric workspace identifier (GUID) xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
LakehouseId Fabric göl evi tanımlayıcısı (GUID) xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
Kimlik Doğrulama Akışı Kimlik doğrulama yöntemi AZURE_CLI, INTERACTIVE, CLIENT_CREDENTIAL, CLIENT_CERTIFICATE, , ACCESS_TOKEN

Örnek bağlantı dizeleri

Temel bağlantı (Azure CLI kimlik doğrulaması)

DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI

Performans seçenekleriyle

DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;ReuseSession=true;LargeTableSupport=true;PageSizeBytes=18874368

Kayıt tutma ile

DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;LogLevel=DEBUG;LogFile=odbc_driver.log

Authentication

Microsoft Fabric Veri Mühendisliği için Microsoft ODBC Sürücüsü, Microsoft Entra ID (eski adıYla Azure Active Directory) aracılığıyla birden çok kimlik doğrulama yöntemini destekler. Kimlik doğrulaması, bağlantı dizesindeki AuthFlow parametresi kullanılarak yapılandırılır.

Kimlik doğrulama yöntemleri

AuthFlow Değeri Description
AZURE_CLI Azure CLI kimlik bilgilerini kullanarak geliştirme
INTERACTIVE Etkileşimli tarayıcı tabanlı kimlik doğrulaması
CLIENT_CREDENTIAL İstemci sırrı ile hizmet asıl
CLIENT_CERTIFICATE Sertifika ile hizmet sorumlusu
ACCESS_TOKEN Önceden alınan taşıyıcı erişim belirteci

Azure CLI kimlik doğrulaması

En iyi seçim: Geliştirme ve etkileşimli uygulamalar

# Python Example
connection_string = (
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
    "WorkspaceId=<workspace-id>;"
    "LakehouseId=<lakehouse-id>;"
    "AuthFlow=AZURE_CLI;"
    "Scope=https://api.fabric.microsoft.com/.default;"
)
conn = pyodbc.connect(connection_string)

Prerequisites:

  • Azure CLI yüklü: az --version
  • Oturum açıldı: az login

Etkileşimli tarayıcı kimlik doğrulaması

En iyi kullanım: Kullanıcıya yönelik uygulamalar

# Python Example
connection_string = (
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
    "WorkspaceId=<workspace-id>;"
    "LakehouseId=<lakehouse-id>;"
    "AuthFlow=INTERACTIVE;"
    "TenantId=<tenant-id>;"
    "Scope=https://api.fabric.microsoft.com/.default;"
)
conn = pyodbc.connect(connection_string)

Davranış:

  • Kullanıcı kimlik doğrulaması için bir tarayıcı penceresi açar
  • Kimlik bilgileri sonraki bağlantılar için önbelleğe alınır

İstemci kimlik bilgileri (hizmet sorumlusu) kimlik doğrulaması

En iyi: Otomatik hizmetler ve arka plan işleri

connection_string = (
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
    "WorkspaceId=<workspace-id>;"
    "LakehouseId=<lakehouse-id>;"
    "AuthFlow=CLIENT_CREDENTIAL;"
    f"TenantId={tenant_id};"
    f"ClientId={client_id};"
    f"ClientSecret={client_secret};"
)

Gerekli parametreler

  • TenantId: Azure kiracı kimliği
  • ClientId: Microsoft Entra Id'den uygulama (istemci) kimliği
  • ClientSecret: Microsoft Entra ID'den istemci sırrı

En iyi uygulamalar

  • Gizli dizileri güvenli bir şekilde depolama (Azure Key Vault, ortam değişkenleri)
  • Mümkün olduğunda yönetilen kimlikleri kullanma
  • Sırları düzenli olarak yenile

Sertifika tabanlı kimlik doğrulaması

En iyisi: Sertifika tabanlı kimlik doğrulaması gerektiren kurumsal uygulamalar

connection_string = (
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
    "WorkspaceId=<workspace-id>;"
    "LakehouseId=<lakehouse-id>;"
    "AuthFlow=CLIENT_CERTIFICATE;"
    "TenantId=<tenant-id>;"
    "ClientId=<client-id>;"
    "CertificatePath=C:\\certs\\mycert.pfx;"
    "CertificatePassword=<password>;"
)

Gerekli parametreler:

  • TenantId: Azure kiracı kimliği
  • ClientId: Uygulama (istemci) kimliği
  • CertificatePath: PFX/PKCS12 sertifika dosyasının yolu
  • CertificatePassword: Sertifika parolası

Erişim belirteci kimlik doğrulaması

En iyisi: Özel kimlik doğrulama senaryoları

# Acquire token through custom mechanism
access_token = acquire_token_from_custom_source()

connection_string = (
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
    "WorkspaceId=<workspace-id>;"
    "LakehouseId=<lakehouse-id>;"
    "AuthFlow=ACCESS_TOKEN;"
    f"AccessToken={access_token};"
)

Yapılandırma parametreleri

Gerekli parametreler

Bu parametreler her bağlantı dizesinde bulunmalıdır:

Parametre Türü Description Example
WorkspaceId UUID Doku çalışma alanı tanımlayıcısı 4bbf89a8-...
LakehouseId UUID Fabric göl evi tanımlayıcısı d8faa650-...
Kimlik Doğrulama Akışı Dize Kimlik doğrulama akışı türü AZURE_CLI

İsteğe bağlı parametreler

Bağlantı ayarları

Parametre Türü Varsayılan Description
Veritabanı Dize Hiç kimse Bağlanacak belirli veritabanı
Scope Dize https://api.fabric.microsoft.com/.default OAuth kapsamı

Performans ayarları

Parametre Türü Varsayılan Description
Oturum Yeniden Kullanımı Boolean true Mevcut Spark oturumlarını yeniden kullanma
Büyük Tablo Desteği Boolean false Büyük sonuç kümeleri için iyileştirmeleri etkinleştirme
EnableAsyncPrefetch Boolean false Arka plan verilerini önceden yüklemeyi etkinleştirme
SayfaBoyutuBayt Tamsayı 18874368 (18 MB) Sonuç sayfalaması için sayfa boyutu (1-18 MB)

Kayıt ayarları

Parametre Türü Varsayılan Description
LogLevel Dize INFO Günlük düzeyi: TRACE, DEBUG, INFO, WARN, ERROR
Logfile Dize odbc_driver.log Kayıt dosyası yolu (mutlak veya göreli)

Proxy ayarları

Parametre Türü Varsayılan Description
UseProxy Boolean false Ara sunucuyu etkinleştirme
ProxyHost Dize Hiç kimse Proxy ana bilgisayar adı
ProxyPort Tamsayı Hiç kimse Proxy bağlantı noktası
ProxyUsername Dize Hiç kimse Proxy kimlik doğrulaması kullanıcı adı
ProxyPassword Dize Hiç kimse Proxy kimlik doğrulama parolası

Ortam ayarları

Sürücü tarafından başlatılan Spark oturumuna bir Fabric ortam öğesi ekleyebilirsiniz. Seçili ortamın kitaplıkları, Spark özellikleri ve değişkenleri oturum oluşturulduğunda otomatik olarak uygulanır.

Parametre Türü Varsayılan Description
ÇevreId UUID Hiç kimse Spark oturumu oluşturma sırasında uygulanacak Fabric ortam öğesi tanımlayıcısı (GUID)

Ortam öğesi içeren örnek bağlantı dizesi:

DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;EnvironmentId=<environment-id>

Uyarı

Ortam, Spark oturumu başlatıldığında uygulanır. Özel Spark yapılandırma özelliklerini de belirtirseniz, oturum düzeyi özellikleri ortam varsayılanlarından önceliklidir.

Özel Spark yapılandırması

Spark yapılandırma özelliklerini doğrudan bağlantı dizesinde geçirebilirsiniz. ön ekli spark. tüm parametreler oluşturma zamanında Spark oturumuna otomatik olarak uygulanır ve çalışma alanı veya çalışma zamanı varsayılanlarını geçersiz kılmanıza olanak tanır.

Örnek Spark yapılandırmaları:

spark.sql.shuffle.partitions=200
spark.sql.adaptive.enabled=true
spark.sql.autoBroadcastJoinThreshold=10485760

Özel Spark özellikleriyle örnek bağlantı dizesi:

DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;spark.sql.shuffle.partitions=200;spark.sql.adaptive.enabled=true

Uyarı

Oturum oluşturulduğunda Spark yapılandırma özellikleri uygulanır. Bu sorgular, bu oturumda çalıştırılacak tüm sorgulara uygulanır ve aynı özellikler için ortam veya çalışma zamanı varsayılanlarını geçersiz kılar.

DSN yapılandırması

Bir sistem DSN'si oluştur

  1. ODBC Yöneticisi'ni açma

    %SystemRoot%\System32\odbcad32.exe
    
  2. Yeni Sistem DSN'si Oluşturma

    • "Sistem DSN" sekmesine gidin
    • “Ekle”yi seçin
    • "Microsoft Fabric Veri Mühendisliği için Microsoft ODBC Sürücüsü" seçeneğini belirleyin
    • "Son" seçeneğini belirleyin
  3. DSN Ayarlarını Yapılandırma

    • Veri Kaynağı Adı: Benzersiz bir ad girin (örn. FabricODBC)
    • Açıklama: İsteğe bağlı açıklama
    • Çalışma Alanı Kimliği: Fabric çalışma alanı GUID'niz
    • Lakehouse Kimliği: Fabric lakehouse GUID'niz
    • Kimlik doğrulaması: Kimlik doğrulama yöntemini seçin
    • Environment ID (isteğe bağlı): Oturum oluşturma sırasında eklenecek Fabric ortam öğesinin GUID'sini girin
    • Ek ayarları gerektiği gibi yapılandırma
  4. Bağlantıyı Test Et

    • Ayarları doğrulamak için "Bağlantıyı Test Et" seçeneğini belirleyin
    • Kaydetmek için "Tamam" seçeneğini belirleyin

Uygulamalarda DSN kullanma

# Python - Connect using DSN
conn = pyodbc.connect("DSN=FabricODBC")
// .NET - Connect using DSN
using var connection = new OdbcConnection("DSN=FabricODBC");
await connection.OpenAsync();

Kullanım örnekleri

Temel bağlantı ve sorgu

Piton

import pyodbc

def main():
    connection_string = (
        "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
        "WorkspaceId=<workspace-id>;"
        "LakehouseId=<lakehouse-id>;"
        "AuthFlow=AZURE_CLI;"
        "ReuseSession=true;"
    )
    
    conn = pyodbc.connect(connection_string, timeout=30)
    cursor = conn.cursor()
    
    print("Connected successfully!")
    
    # Show available tables
    print("\nAvailable tables:")
    cursor.execute("SHOW TABLES")
    for row in cursor.fetchall():
        print(f"  {row}")
    
    # Query data
    print("\nQuery results:")
    cursor.execute("SELECT * FROM employees LIMIT 10")
    
    # Print column names
    columns = [desc[0] for desc in cursor.description]
    print(f"Columns: {columns}")
    
    # Print rows
    for row in cursor.fetchall():
        print(row)
    
    conn.close()

if __name__ == "__main__":
    main()

.NET

using System.Data.Odbc;

class Program
{
    static async Task Main(string[] args)
    {
        string connectionString = 
            "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};" +
            "WorkspaceId=<workspace-id>;" +
            "LakehouseId=<lakehouse-id>;" +
            "AuthFlow=AZURE_CLI;" +
            "ReuseSession=true;";

        using var connection = new OdbcConnection(connectionString);
        await connection.OpenAsync();
        
        Console.WriteLine("Connected successfully!");

        // Show available tables
        Console.WriteLine("\nAvailable tables:");
        using (var cmd = new OdbcCommand("SHOW TABLES", connection))
        using (var reader = await cmd.ExecuteReaderAsync())
        {
            while (await reader.ReadAsync())
            {
                Console.WriteLine($"  {reader.GetString(0)}");
            }
        }

        // Query data
        Console.WriteLine("\nQuery results:");
        using (var cmd = new OdbcCommand("SELECT * FROM employees LIMIT 10", connection))
        using (var reader = await cmd.ExecuteReaderAsync())
        {
            // Print column names
            var columns = new List<string>();
            for (int i = 0; i < reader.FieldCount; i++)
            {
                columns.Add(reader.GetName(i));
            }
            Console.WriteLine($"Columns: {string.Join(", ", columns)}");

            // Print rows
            while (await reader.ReadAsync())
            {
                var values = new object[reader.FieldCount];
                reader.GetValues(values);
                Console.WriteLine(string.Join("\t", values));
            }
        }
    }
}

Büyük sonuç kümeleriyle çalışma

import pyodbc

connection_string = (
    "DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};"
    "WorkspaceId=<workspace-id>;"
    "LakehouseId=<lakehouse-id>;"
    "AuthFlow=AZURE_CLI;"
    "LargeTableSupport=true;"
    "PageSizeBytes=18874368;"  # 18 MB pages
    "EnableAsyncPrefetch=1;"
)

conn = pyodbc.connect(connection_string)
cursor = conn.cursor()

# Execute large query
cursor.execute("SELECT * FROM large_table")

# Process in batches
row_count = 0
while True:
    rows = cursor.fetchmany(1000)  # Fetch 1000 rows at a time
    if not rows:
        break
    
    for row in rows:
        # Process row
        row_count += 1
        
    if row_count % 10000 == 0:
        print(f"Processed {row_count} rows")

print(f"Total rows processed: {row_count}")
conn.close()

Şema keşfi

import pyodbc

conn = pyodbc.connect(connection_string)
cursor = conn.cursor()

# List all tables
print("Tables in current default schema / database:")
cursor.execute("SHOW TABLES")
tables = cursor.fetchall()
for table in tables:
    print(f"  {table}")

# Describe table structure
print("\nTable structure for 'employees':")
cursor.execute("DESCRIBE employees")
for col in cursor.fetchall():
    print(f"  {col}")

# List schemas (for multi-schema Lakehouses)
print("\nAvailable schemas:")
cursor.execute("SHOW SCHEMAS")
for db in cursor.fetchall():
    print(f"  {db}")

conn.close()

Veri türü eşlemesi

Sürücü Spark SQL veri türlerini ODBC SQL türleriyle eşler:

Spark SQL Türü ODBC SQL Türü C/C++ Türü Python Türü .NET Türü
BOOLEAN SQL_BIT SQLCHAR bool bool
BYTE SQL_TINYINT SQLSCHAR int sbyte
KISA SQL_SMALLINT SQLSMALLINT int short
INT SQL_INTEGER SQLINTEGER int int
LONG SQL_BIGINT SQLBIGINT int long
FLOAT SQL_REAL SQLREAL yüzmek yüzmek
ÇİFT SQL_DOUBLE SQLDOUBLE yüzmek iki katı
ONDALIK SQL_DECIMAL SQLCHAR* decimal.Decimal decimal
STRING SQL_VARCHAR SQLCHAR* str String
VARCHAR(n) SQL_VARCHAR SQLCHAR* str String
CHAR(n) SQL_CHAR SQLCHAR* str String
BINARY SQL_BINARY SQLCHAR* bytes byte[]
DATE SQL_TYPE_DATE SQL_DATE_STRUCT datetime.date DateTime
TIMESTAMP SQL_TYPE_TIMESTAMP SQL_TIMESTAMP_STRUCT datetime.datetime DateTime
ARRAY SQL_VARCHAR SQLCHAR* str (JSON) String
MAP SQL_VARCHAR SQLCHAR* str (JSON) String
Yapı SQL_VARCHAR SQLCHAR* str (JSON) String

BI aracı tümleştirmesi

Microsoft Excel

  1. Excel 'i Açma -> Veri -> Veri Al -> Diğer Kaynaklardan -> ODBC'den
  2. Yapılandırılan DSN'nizi seçin (örn. FabricODBC)
  3. İstenirse kimlik doğrulaması
  4. Tabloları inceleyin ve seçin
  5. Excel çalışma sayfasına veri yükleme

Power BI Masaüstü Uygulaması

  1. Power BI Desktop'ı açma -> Veri Al -> ODBC
  2. Yapılandırılan DSN'nizi seçin
  3. Veri kataloğuna göz atma ve tabloları seçme
  4. Verileri gerektiği gibi dönüştürme
  5. Görselleştirme oluşturun

SQL Server Management Studio (Bağlı Sunucu)

-- Create linked server
EXEC sp_addlinkedserver 
    @server = 'FABRIC_LINKED_SERVER',
    @srvproduct = 'Microsoft Fabric',
    @provider = 'MSDASQL',
    @datasrc = 'FabricODBC'

-- Configure RPC
EXEC master.dbo.sp_serveroption 
    @server = N'FABRIC_LINKED_SERVER',
    @optname = N'rpc out',
    @optvalue = N'true';

-- Query via linked server
SELECT * FROM OPENQUERY(FABRIC_LINKED_SERVER, 'SHOW TABLES');
SELECT * FROM OPENQUERY(FABRIC_LINKED_SERVER, 'SELECT * FROM employees LIMIT 20');

-- Execute statements
EXEC('SELECT * FROM employees LIMIT 10') AT FABRIC_LINKED_SERVER;

Sorun giderme

Bu bölümde, Microsoft Fabric Veri Mühendisliği için Microsoft ODBC Sürücüsünü kullanırken karşılaşabileceğiniz yaygın sorunları çözmeye yönelik yönergeler sağlanır.

Yaygın sorunlar

Aşağıdaki bölümlerde yaygın sorunlar ve çözümleri açıklanmaktadır:

Bağlantı hataları

Sorun: Fabric'e bağlanamıyor

Çözümler:

  1. İş alanı kimliği ve göl evi kimliğinin doğru GUID olduğunu doğrulayın
  2. Azure CLI kimlik doğrulamayı denetleyin: az account show
  3. Uygun Fabric çalışma alanı izinlerine sahip olduğunuzdan emin olun
  4. Ağ bağlantısı ve ara sunucu ayarlarını denetleme

Kimlik doğrulama hataları

Sorun: Azure CLI ile kimlik doğrulaması başarısız oluyor

Çözümler:

  • Kimlik bilgilerini yenilemek için komutunu çalıştırın az login
  • Doğru kiracıyı doğrulayın: az account set --subscription <subscription-id>
  • Belirteç geçerliliğini denetleyin: az account get-access-token --resource https://api.fabric.microsoft.com

Sorgu zaman aşımları

Sorun: Büyük tablolarda sorguların zaman aşımına uğraması

Çözümler:

  • LargeTableSupport=true etkinleştirme
  • En uygun öbek boyutu için ayarlama PageSizeBytes
  • Zaman uyumsuz ön getirmeyi etkinleştir: EnableAsyncPrefetch=1
  • Sonuç boyutunu kısıtlamak için yan tümcesi kullanma LIMIT

Log kaydını etkinleştir

Sorunları giderirken, ayrıntılı günlüğe kaydetmeyi etkinleştirmek sorunların kök nedenini belirlemenize yardımcı olabilir. Bağlantı dizesi ile günlüğe kaydetmeyi etkinleştirebilirsiniz.

Ayrıntılı günlük kaydını etkinleştirmek için:

LogLevel=DEBUG;LogFile=C:\temp\odbc_driver_debug.log;

Log seviyeleri:

  • TRACE: En ayrıntılı, tüm API çağrılarını içerir
  • DEBUG: Ayrıntılı hata ayıklama bilgileri
  • INFO: Genel bilgiler (varsayılan)
  • WARN: Yalnızca uyarılar
  • ERROR: Sadece hatalar

ODBC izleme

Düşük düzeyli tanılamalar için, ayrıntılı ODBC API çağrılarını ve sürücü davranışını yakalamak için Windows ODBC izlemeyi etkinleştirebilirsiniz. En iyi performansı korumak için gerekli olmadığında izlemeyi kapatmayı unutmayın.

ODBC izlemeyi etkinleştirmek için:

  1. odbcad32.exe
  2. "İzleme" sekmesine gidin
  3. İzleme dosyası yolunu ayarlama (ör. C:\temp\odbctrace.log)
  4. "İzlemeyi Şimdi Başlat" seçeneğini belirleyin
  5. Sorunu yeniden oluşturun
  6. "İzlemeyi Şimdi Durdur" seçeneğini belirleyin