Microsoft ODBC sürücüsü için Microsoft Fabric Data Engineering on Linux (Önizleme)

Important

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ü, C/C++, .NET, Python ve diğer ODBC uyumlu uygulamalarınıza güvenli ve esnek Spark SQL bağlantısı sağlar.

Temel özellikler

  • ODBC 3.x uyumlu: ODBC 3.x spesifikasyonunun tam uygulaması.
  • Microsoft Entra ID doğrulama: Azure CLI, istemci kimlik bilgileri, sertifika tabanlı ve erişim token doğrulaması dahil olmak üzere birden fazla kimlik doğrulama akışı.
  • Spark SQL sorgu desteği: Spark SQL ifadelerinin doğrudan çalıştırılması.
  • Kapsamlı veri tipi desteği: Tüm Spark SQL veri türleri için destek, karmaşık tipler (ARRAY, MAP, ve STRUCT).
  • Oturum yeniden kullanımı: Performansı artırmak için yerleşik oturum yönetimi.
  • Büyük tablo desteği: Büyük sonuç setleri için optimize edilmiş işlem ve yapılandırılabilir sayfa boyutları.
  • Asenkron ön yükleme: Performansı artırmak için arka plan veri yüklemesi.
  • Proxy 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 bir şemaya bağlanın.

Note

Açık kaynak Apache Spark'ta veritabanı ve şema eş anlamlı olarak kullanılır. Örneğin, bir Fabric defterinde veya SHOW SCHEMASSHOW DATABASES çalıştırıldığında aynı sonuç gelir: göl evindeki tüm şemaların listesi.

Prerequisites

Microsoft ODBC Driver'ı Microsoft Fabric Data Engineering için Linux'ta kullanmadan önce, aşağıdaki ön koşullara sahip olduğundan emin olun:

  • İşletim sistemi: Ubuntu 22.04 veya daha sonra, Debian 11 veya daha yeni, veya Red Hat Enterprise Linux (RHEL) 8 veya daha yeni x86-64 sürümleri.
  • unixODBC: Linux için ODBC sürücü yöneticisi. ve paketlerini kurun unixodbcunixodbc-dev .
  • Fabric erişimi: Fabric çalışma alanına erişim.
  • Microsoft Entra ID kimlik bilgileri: Kimlik doğrulama 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ğrulaması kullandığınızda gereklidir.

Linux'a indirip kur

Microsoft ODBC Driver for Microsoft Fabric Data Engineering sürüm 1.0.0, halka açık önizleme olarak mevcuttur.

Sürücüyü yüklemek için:

  1. öğesini ayıklayın ms-sparksql-odbc-linux-1.0.0.zip.

  2. Çıkarılmış dizinde bir terminal açın.

  3. Debian paketini yükleyin:

    sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.deb
    

Paket aşağıdaki dosyaları yükler:

Dosya Kurulu konum
Sürücü kütüphanesi /usr/lib/libmicrosoftfabricodbc.so
Sürücü kayıt şablonu /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.template
DSN yapılandırma şablonu /usr/share/microsoft-fabric-odbc-driver/odbc.ini.template
License /usr/share/doc/microsoft-fabric-odbc-driver/LICENSE
Kullanım rehberi /usr/share/doc/microsoft-fabric-odbc-driver/USAGE_Linux.md

Sürücüyü manuel olarak kaydet

Paket, sürücüyü otomatik olarak unixODBC ile kaydeder. Sürücüyü manuel olarak kaydetmek için şu çalıştırın:

sudo odbcinst -i -d -f /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.template

Yüklemeyi doğrulama

Sürücünün kayıtlı olduğunu ve kütüphanenin kurulu olduğunu doğrulayın:

odbcinst -q -d
ls -la /usr/lib/libmicrosoftfabricodbc.so

Komut odbcinst .[Microsoft ODBC Driver for Microsoft Fabric Data Engineering]

Sürücüyü kaldırın

Sürücüyü kaldırmak için aşağıdaki komutu çalıştırın:

sudo dpkg -r microsoft-fabric-odbc-driver

Bu komut, sürücü dosyalarını kaldırır ve sürücüyü unixODBC'den kaydından çıkarır.

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

Aşağıdaki örnekler Fabric'e bağlanır ve bir Spark SQL sorgusu çalıştırır. Bir örnek çalıştırmadan önce ön koşulları tamamla ve sürücüyü yükle.

Python örneği

import pyodbc

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

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()

C/C++ örneği

#include <sql.h>
#include <sqlext.h>
#include <iostream>

int main() {
    SQLHENV henv = SQL_NULL_HENV;
    SQLHDBC hdbc = SQL_NULL_HDBC;
    SQLHSTMT hstmt = SQL_NULL_HSTMT;

    SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
    SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
    SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

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

    SQLRETURN result = SQLDriverConnect(
        hdbc,
        NULL,
        (SQLCHAR*)connectionString,
        SQL_NTS,
        NULL,
        0,
        NULL,
        SQL_DRIVER_NOPROMPT);

    if (SQL_SUCCEEDED(result)) {
        std::cout << "Connected successfully!" << std::endl;

        SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
        result = SQLExecDirect(
            hstmt,
            (SQLCHAR*)"SELECT 'Hello from Fabric!' AS message",
            SQL_NTS);

        if (SQL_SUCCEEDED(result)) {
            char message[256];
            SQLLEN indicator;

            while (SQLFetch(hstmt) == SQL_SUCCESS) {
                SQLGetData(
                    hstmt,
                    1,
                    SQL_C_CHAR,
                    message,
                    sizeof(message),
                    &indicator);
                std::cout << message << std::endl;
            }
        }

        SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
        SQLDisconnect(hdbc);
    }

    SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
    SQLFreeHandle(SQL_HANDLE_ENV, henv);
    return 0;
}

Örneği oluştur ve çalıştır:

g++ -o fabric_test fabric_test.cpp -lodbc -std=c++17
./fabric_test

.NET örneği

using System.Data.Odbc;

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

Aşağıdaki bağlantı dizesi formatını kullanın:

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

Bağlantı dizesi bileşenleri

Bileşen Description Örnek
DRIVER ODBC sürücü tanımlayıcısı {Microsoft ODBC Driver for Microsoft Fabric Data Engineering}
WorkspaceId Fabric workspace identifier (GUID) 4bbf89a8-66bb-443f-91af-df31e6a7560b
LakehouseId Fabric göl evi tanımlayıcısı (GUID) d8faa650-1343-496b-b9cc-d4168a676f90
AuthFlow Kimlik doğrulama yöntemi AZURE_CLI, CLIENT_CREDENTIAL, CLIENT_CERTIFICATEveya ACCESS_TOKEN

Örnek bağlantı dizeleri

Temel bağlantı

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

Performans seçenekleriyle bağlantı

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 Kayıtlarıyla Bağlantı

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

Kimlik Doğrulaması

Microsoft Fabric Data Engineering için Microsoft ODBC Sürücüsü, Microsoft Entra ID üzerinden birden fazla kimlik doğrulama yöntemini destekler. Doğrulamayı, AuthFlow bağlantı dizesi veya DSN içindeki parametreyi kullanarak yapılandırmak.

Kimlik doğrulama yöntemleri

AuthFlow Değer Description
AZURE_CLI Azure CLI kimlik bilgilerini kullanarak geliştirme
CLIENT_CREDENTIAL Hizmet yöneticisi ve istemci sırrı
CLIENT_CERTIFICATE Hizmet sorumlusu sertifikalı
ACCESS_TOKEN Önceden alınan taşıyıcı erişim belirteci

Note

Arayüzlü tarayıcı doğrulaması başsız Linux sunucularında mevcut değildir. Bunun yerine Azure CLI, istemci kimlik bilgileri, sertifika tabanlı veya erişim token doğrulaması kullanın.

Azure CLI kimlik doğrulaması

Geliştirme ve etkileşimli uygulamalar için Azure CLI kimlik doğrulamasını kullanın.

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)

Bağlanmadan önce, Azure CLI'nin kurulduğunu kontrol edin ve giriş yapın:

az --version
az login

Azure CLI'yı Debian veya Ubuntu'ya yüklemek için paket yöneticisini kullanın:

sudo apt-get update
sudo apt-get install -y azure-cli

İstemci kimlik doğrulaması

Otomatik hizmetler ve arka plan işleri için istemci kimlik doğrulaması kullanın.

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};"
)

Aşağıdaki parametreleri sağlayın:

  • TenantId: Microsoft Entra kiracı kimliği.
  • ClientId: Uygulama (istemci) kimliği.
  • ClientSecret: Müşteri sırrı.

Sırları güvenli bir gizli depoda veya ortam değişkenlerinde saklayın. Sırları düz metin bağlantı dizelerinde veya INI dosyalarında saklamayın.

Sertifika tabanlı kimlik doğrulaması

Sertifika kimlik bilgileri gerektiren kurumsal uygulamalar için sertifika tabanlı kimlik doğrulama kullanın.

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=/path/to/cert.pfx;"
    "CertificatePassword=<password>;"
)

Aşağıdaki parametreleri sağlayın:

  • TenantId: Microsoft Entra kiracı kimliği.
  • ClientId: Uygulama (istemci) kimliği.
  • CertificatePath: PFX veya PKCS12 sertifika dosyasına giden yol.
  • CertificatePassword: Sertifika şifresi.

Erişim belirteci kimlik doğrulaması

Uygulamanız başka bir mekanizma aracılığıyla token edindiğinde erişim token doğrulamasını kullanın.

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

Her bağlantı dizesi'e bu parametreleri ekleyin:

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

İsteğe bağlı parametreler

Bağlantı ayarları

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

Performans ayarları

Parametre Türü Varsayılan Description
ReuseSession Boolean true Mevcut bir Spark oturumunu yeniden kullanın
LargeTableSupport 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
PageSizeBytes Integer 18874368 (18 MB) 1 ile 18 MB arasında sonuç sayfaları için sayfa boyutu

Kayıt ayarları

Parametre Türü Varsayılan Description
LogLevel Dize INFO Log seviyesi: TRACE, DEBUG, INFOWARN, , veyaERROR
LogFile Dize odbc_driver.log Mutlak veya göreceli log dosyası yolu

Proxy ayarları

Parametre Türü Varsayılan Description
UseProxy Boolean false Bir proxy'yi etkinleştir
ProxyHost Dize Hiçbiri Proxy ana adı
ProxyPort Integer Hiçbiri Proxy bağlantı noktası
ProxyUsername Dize Hiçbiri Proxy kimlik doğrulama kullanıcı adı
ProxyPassword Dize Hiçbiri Proxy kimlik doğrulama parolası

DSN yapılandırması

Linux'ta, veri kaynak isimlerini (DSN'leri) Windows kayıt defteri yerine INI dosyalarında yapılandırın.

Dosya Scope Access
/etc/odbc.ini Sistem Genelindeki DSN'ler Gerektirir sudo
~/.odbc.ini Kullanıcıya Özel DSN'ler Sadece mevcut kullanıcı

DSN oluşturma

Yüklü şablonu kopyalayın:

cp /usr/share/microsoft-fabric-odbc-driver/odbc.ini.template ~/.odbc.ini

Fabric çalışma alanı detaylarınızı düzenleyin~/.odbc.ini:

[FabricDSN]
Description    = Microsoft Fabric Data Engineering
Driver         = Microsoft ODBC Driver for Microsoft Fabric Data Engineering
WorkspaceId    = <workspace-id>
LakehouseId    = <lakehouse-id>
AuthFlow       = AZURE_CLI
LogLevel       = INFO
# LogFile      = /tmp/fabric_odbc.log
# LargeTableSupport = true
# ReuseSession = true

DSN'i doğrulayın

Yapılandırılmış DSN'leri listeleyin ve ardından bağlantıyı test edin:

odbcinst -q -s
isql -v FabricDSN

Komut, isql unixODBC komut satırı araçlarını gerektirir.

Uygulamalarda DSN kullanın

conn = pyodbc.connect("DSN=FabricDSN")
using var connection = new OdbcConnection("DSN=FabricDSN");
await connection.OpenAsync();
SQLRETURN result = SQLConnect(
    hdbc,
    (SQLCHAR*)"FabricDSN",
    SQL_NTS,
    NULL,
    0,
    NULL,
    0);

Kullanım örnekleri

isql ile bir bağlantı test edin

Etkileşimli bir SQL oturumu başlatın:

isql -v FabricDSN

Tek bir sorgu çalıştırın:

echo "SELECT 1 AS test" | isql -v FabricDSN -b

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;"
    "EnableAsyncPrefetch=1;"
)

conn = pyodbc.connect(connection_string)
cursor = conn.cursor()
cursor.execute("SELECT * FROM large_table")

row_count = 0
while True:
    rows = cursor.fetchmany(1000)
    if not rows:
        break

    for row in rows:
        row_count += 1

    if row_count % 10000 == 0:
        print(f"Processed {row_count} rows")

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

Şemaları ve tabloları keşfedin

import pyodbc

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

cursor.execute("SHOW TABLES")
for table in cursor.fetchall():
    print(table)

cursor.execute("DESCRIBE employees")
for column in cursor.fetchall():
    print(column)

cursor.execute("SHOW SCHEMAS")
for schema in cursor.fetchall():
    print(schema)

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 type C/C++ tipi Python türü .NET türü
BOOLEAN SQL_BIT SQLCHAR bool bool
BYTE SQL_TINYINT SQLSCHAR int sbyte
SHORT SQL_SMALLINT SQLSMALLINT int short
INT SQL_INTEGER SQLINTEGER int int
LONG SQL_BIGINT SQLBIGINT int long
FLOAT SQL_REAL SQLREAL float float
DOUBLE SQL_DOUBLE SQLDOUBLE float double
DECIMAL 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* JSON dizesi string
MAP SQL_VARCHAR SQLCHAR* JSON dizesi string
STRUCT SQL_VARCHAR SQLCHAR* JSON dizesi string

Platform farklılıkları

Özellik Windows Linux
Sürücü menajeri Microsoft ODBC Driver Manager unixODBC
Sürücü ikili microsoftfabricodbc.dll libmicrosoftfabricodbc.so
DSN yapılandırması Windows kayıt defteri ve arayüz /etc/odbc.ini ve ~/.odbc.ini
Sürücü kaydı Kayıt Defteri ve odbcad32.exe odbcinst -i -d -f
HTTP istemcisi WinHTTP libcurl
TLS Windows yerleşik desteği Openssl
Sertifika kimlik doğrulama Windows CryptoAPI RS256 ve PEM veya PFX dosyalarıyla OpenSSL
Etkileşimli kimlik doğrulaması Tarayıcı penceresi Başsız sunucularda mevcut değil
Ambalaj MSI yükleyicisi Linux paketi

Sorun giderme

Sürücü bulunamadı

Sorun: Bağlantı ile [IM002] Data source name not found and no default driver specifiedarızalanıyor.

Çözümler:

  1. Sürücü kaydını doğrulayın.odbcinst -q -d
  2. Bunun var olduğunu doğrulayın /usr/lib/libmicrosoftfabricodbc.so .
  3. Sürücüyü kaydetmek için çalıştırın sudo odbcinst -i -d -f /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.template.
  4. Paketi çalıştırarak sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.debyeniden yükleyin.

DSN bulunamadı

Sorun: Bağlantı ile [IM002] Data source name not foundarızalanıyor.

Çözümler:

  1. DSN yapılandırmasını çalıştırarak odbcinst -q -sdoğrulayın.
  2. Bunu ~/.odbc.ini doğrulayın veya /etc/odbc.ini DSN bölümünü içeriyor.
  3. Değerin Driver tam olarak kayıtlı sürücü adıyla eşleştiğinden emin olun.

Bağlantı hataları

Sorun: Sürücü Fabric'e bağlanamıyor.

Çözümler:

  1. Çalışma alanı kimliği ve göl evi kimliğinin geçerli GUID olduğunu doğrulayın.
  2. Azure CLI kimlik doğrulamasını çalıştırarak az account showkontrol edin.
  3. Gerekli Fabric workspace izinlerine sahip olduğundan emin olun.
  4. Ağ bağlantısını ve proxy ayarlarını kontrol edin.

Kimlik doğrulama hataları

Sorun: Azure CLI authentication başarısız oldu.

Çözümler:

  1. Kimlik bilgilerinizi yenilemek için koşun az login .
  2. Doğru aboneliği ayarlayın ve çalıştırın az account set --subscription <subscription-id>.
  3. Tokenı çalıştırarak az account get-access-token --resource https://api.fabric.microsoft.comkontrol edin.
  4. Hesabınızda gerekli Fabric çalışma alanı izinlerine sahip olduğundan emin olun.

Paylaşılan kütüphane hataları

Sorun: Sürücü bildiriyor error while loading shared libraries: libmicrosoftfabricodbc.so.

Çözümler:

  1. Paketi çalıştırarak sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.debyeniden yükleyin.
  2. Bunun var olduğunu doğrulayın /usr/lib/libmicrosoftfabricodbc.so .
  3. Paylaşılan kütüphane önbelleğini yenilemek için çalıştırın sudo ldconfig .

Sorgu zaman aşımları

Sorun: Büyük tablolarda sorgular zaman aşımına doluyor.

Çözümler:

  1. Bağlantı dizesine ekleyin LargeTableSupport=true .
  2. Sonuç boyutuna göre ayarlama PageSizeBytes yapın.
  3. Bağlantı dizesine ekleyin EnableAsyncPrefetch=1 .
  4. Sonuç boyutunu kısıtlamak için bir LIMIT madde kullanın.

Kayıt tutmayı etkinleştir

DSN'de ayrıntılı kayıtları etkinleştirin:

[FabricDSN]
LogLevel = DEBUG
LogFile  = /tmp/fabric_odbc_debug.log

Alternatif olarak, bağlantı dizesi'e log parametreleri ekleyin:

LogLevel=DEBUG;LogFile=/tmp/fabric_odbc_debug.log;

Sürücü aşağıdaki log seviyelerini destekler:

  • TRACE: Tüm API çağrılarını içerir.
  • DEBUG: Detaylı hata ayıklama bilgisi içerir.
  • INFO: Genel bilgi içerir ve varsayılan özelliktir.
  • WARN: Sadece uyarılar içerir.
  • ERROR: Sadece hatalar içerir.

unixODBC izlemeyi etkinleştir

Düşük seviyeli ODBC çağrı tanılaması için, aşağıdaki yapılandırmayı ekleyin:/etc/odbcinst.ini

[ODBC]
Trace     = yes
TraceFile = /tmp/odbc_trace.log

Sorun gidermeyi bitirdikten sonra gereksiz performans yükünü önlemek için izlemeyi kapatın.