Microsoft ODBC-ajuri Microsoft Fabric Data Engineeringille Linuxissa (Preview)

Tärkeää

Tämä ominaisuus on esikatselutilassa.

ODBC (Open Database Connectivity) on laajasti hyväksytty standardi, joka mahdollistaa asiakassovellusten yhteyden tietokantojen ja big data -alustojen datan käsittelyn ja sen kanssa.

Microsoft ODBC Driver for Fabric Data Engineering mahdollistaa Spark-työkuormien yhdistämisen, kyselyn ja hallinnan Fabric-järjestelmässä ODBC-standardin luotettavuudella ja yksinkertaisuudella. Fabric:n Livy-rajapintojen pohjalta rakennettu ajuri tarjoaa turvallisen ja joustavan Spark SQL -yhteyden C/C++-, .NET-, Python- ja muihin ODBC-yhteensopiviin Linux-sovelluksiin.

Tärkeimmät ominaisuudet

  • ODBC 3.x -yhteensopivuus: ODBC 3.x -määrittelyn täysi toteutus.
  • Microsoft Entra ID -tunnistautuminen: Useita todennusprosesseja, mukaan lukien Azure CLI, asiakastunnukset, varmennepohjainen ja pääsytunnusen tunnistautuminen.
  • Spark SQL -kyselytuki: Spark SQL -lauseiden suora suoritus.
  • Kattava tietotyyppituki: Tuki kaikille Spark SQL -tietotyypeille, mukaan lukien monimutkaiset tyypit (ARRAY, MAP, ja STRUCT).
  • Istunnon uudelleenkäyttö: Sisäänrakennettu istunnonhallinta suorituskyvyn parantamiseksi.
  • Suuren taulun tuki: Optimoitu käsittely suurille tulosjoukoille, joissa sivukoot ovat konfiguroitavia.
  • Asynkroninen esilataus: Taustalla lataava data suorituskyvyn parantamiseksi.
  • Välityspalvelintuki: HTTP-välityspalvelimen konfiguraatio yritysympäristöihin.
  • Moniskeemainen järvitalotuki: Yhdistä tiettyyn skeemaan järvimajassa.

Huomautus

Avoimen lähdekoodin Apache Sparkissa tietokantaa ja skeemaa käytetään synonyymeinä. Esimerkiksi Fabric-muistikirjan suorittaminen SHOW SCHEMASSHOW DATABASES palauttaa saman tuloksen: listan kaikista skeemoista järvenrakennuksessa.

Edellytykset

Ennen kuin käytät Microsoft ODBC Driveria Microsoft Fabric Data Engineeringille Linuxissa, varmista, että sinulla on seuraavat edellytykset:

  • Käyttöjärjestelmä: Ubuntu 22.04 tai uudempi, Debian 11 tai uudempi, tai Red Hat Enterprise Linux (RHEL) 8 tai uudempi x86-64.
  • unixODBC: Linuxin ODBC-ajurien hallintaohjelma. Asenna unixodbc ja-paketit unixodbc-dev .
  • Fabric access: Pääsy Fabric-työtilaan.
  • Microsoft Entra ID -tunnukset: Sopivat tunnistetiedot todennukseen.
  • Työtilan ja järvenrakennuksen tunnukset: GUID-tunnisteet Fabric-työtilallesi ja järventalolle.
  • Azure CLI (valinnainen): Vaaditaan, kun käytät Azure CLI -tunnistautumista.

Lataa ja asenna Linuxille

Microsoft ODBC Driver for Microsoft Fabric Data Engineering versio 1.0.0 on saatavilla julkisessa esikatselussa.

Ajurin asentamiseen:

  1. Poimi ms-sparksql-odbc-linux-1.0.0.zip.

  2. Avaa terminaali puretusta hakemistosta.

  3. Asenna Debian-paketti:

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

Paketti asentaa seuraavat tiedostot:

Tiedosto Asennettu sijainti
Ajurikirjasto /usr/lib/libmicrosoftfabricodbc.so
Kuljettajan rekisteröintimallipohja /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.template
DSN-konfiguraatiomalli /usr/share/microsoft-fabric-odbc-driver/odbc.ini.template
Käyttöoikeus /usr/share/doc/microsoft-fabric-odbc-driver/LICENSE
Käyttöopas /usr/share/doc/microsoft-fabric-odbc-driver/USAGE_Linux.md

Rekisteröi ajuri manuaalisesti

Paketti rekisteröi ajurin automaattisesti unixODBC:llä. Rekisteröidäksesi ajurin manuaalisesti, suorita:

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

Tarkista asennus

Varmista, että ajuri on rekisteröity ja kirjasto asennettu:

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

Käskyn odbcinst tulisi listata [Microsoft ODBC Driver for Microsoft Fabric Data Engineering].

Poista ajuri

Poistaaksesi ajurin, suorita seuraava komento:

sudo dpkg -r microsoft-fabric-odbc-driver

Tämä komento poistaa ajuritiedostot ja poistaa ajurin rekisteröinnin unixODBC:stä.

Nopea aloitusesimerkki

Seuraavat esimerkit yhdistävät Fabric-tiedostoon ja suorittavat Spark SQL -kyselyn. Suorita vaaditut vaatimukset ja asenna ajuri ennen kuin suoritat esimerkin.

Python-esimerkki

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++-esimerkki

#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;
}

Rakenna ja suorita esimerkki:

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

.NET-esimerkki

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

Yhteysmerkkijonomuoto

Perusyhteysjono

Käytä seuraavaa yhteysmerkkijono -muotoa:

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

Yhteysmerkkijonon komponentit

Komponentti Description Esimerkki
DRIVER ODBC-ajurin tunniste {Microsoft ODBC Driver for Microsoft Fabric Data Engineering}
WorkspaceId Fabric-työtilan tunniste (GUID) 4bbf89a8-66bb-443f-91af-df31e6a7560b
LakehouseId Fabric-järvimajan tunniste (GUID) d8faa650-1343-496b-b9cc-d4168a676f90
AuthFlow Todentamismenetelmä AZURE_CLI, CLIENT_CREDENTIAL, CLIENT_CERTIFICATEtai ACCESS_TOKEN

Esimerkkejä yhteysmerkkijonoista

Perusyhteys

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

Yhteys suorituskykyvaihtoehtoihin

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

Yhteys lokitukseen

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

Todennus

Microsoft ODBC Driver for Microsoft Fabric Data Engineering tukee useita todennusmenetelmiä Microsoft Entra ID:n kautta. Määritä todennus käyttämällä AuthFlow parametria yhteysmerkkijono:ssä tai DSN:ssä.

Todennusmenetelmät

AuthFlow arvo Description
AZURE_CLI Kehitys Azure CLI -tunnisteuksilla
CLIENT_CREDENTIAL Palvelupäähenkilö, jossa on asiakassalaisuus
CLIENT_CERTIFICATE Palvelupäämies sertifikaatilla
ACCESS_TOKEN Ennakkoon hankittu haltijan pääsytunnus

Huomautus

Interaktiivista selaimen tunnistautumista ei ole saatavilla headless-Linux-palvelimilla. Käytä sen sijaan Azure CLI:tä, asiakastunnuksia, varmennepohjaista tai käyttötunnisteen todennusta.

Azure CLI -todennus

Käytä Azure CLI -todennuksia kehitykseen ja interaktiivisiin sovelluksiin.

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)

Ennen kuin yhdistät, varmista, että Azure CLI on asennettu ja kirjaudu sisään:

az --version
az login

Jos haluat asentaa Azure CLI:n Debianiin tai Ubuntuun käyttämällä pakettihallintaa:

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

Asiakastunnisteiden todennus

Käytä asiakastunnisteiden tunnistautumista automatisoituihin palveluihin ja taustatehtäviin.

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

Anna seuraavat parametrit:

  • TenantId: Microsoft Entra -vuokralaisen ID.
  • ClientId: Sovelluksen (asiakas) tunnus.
  • ClientSecret: Asiakassalaisuus.

Tallenna salaisuudet turvalliseen salavarastoon tai ympäristömuuttujiin. Älä tallenna salaisuuksia selväkielisiin yhteysjonoihin tai INI-tiedostoihin.

Varmennepohjainen todentaminen

Käytä varmennepohjaista tunnistautumista yrityssovelluksissa, jotka vaativat varmennetunnon tunnisteet.

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

Anna seuraavat parametrit:

  • TenantId: Microsoft Entra -vuokralaisen ID.
  • ClientId: Sovelluksen (asiakas) tunnus.
  • CertificatePath: Polku PFX- tai PKCS12-varmennetiedostoon.
  • CertificatePassword: Sertifikaatin salasana.

Pääsytunnuksen tunnistautuminen

Käytä käyttöoikeustunnisteen tunnistautumista, kun sovelluksesi hankkii tokenin toisen mekanismin kautta.

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

Määritysparametrit

Pakolliset parametrit

Sisällytä nämä parametrit jokaiseen yhteysmerkkijonoiin:

Parametri Type (Tyyppi) Description Esimerkki
WorkspaceId UUID Fabric-työtilan tunnus 4bbf89a8-...
LakehouseId UUID Fabric-järvimajan tunniste d8faa650-...
AuthFlow merkkijono Tunnistautumisen virtaustyyppi AZURE_CLI

Valinnaiset parametrit

Yhteysasetukset

Parametri Type (Tyyppi) Oletus Description
Database merkkijono Ei ole Erityinen tietokanta yhdistettäväksi
Scope merkkijono https://api.fabric.microsoft.com/.default OAuthin laajuus

Esitysasetukset

Parametri Type (Tyyppi) Oletus Description
ReuseSession totuusarvo true Käytä olemassa olevaa Spark-istuntoa uudelleen
LargeTableSupport totuusarvo false Ota optimointi käyttöön suurille tulosjoukoille
EnableAsyncPrefetch totuusarvo false Ota taustatietojen esihakemus käyttöön
PageSizeBytes Integer 18874368 (18 MB) Tulossivujen koko 1–18 MB

Lokiasetukset

Parametri Type (Tyyppi) Oletus Description
LogLevel merkkijono INFO Logaritmitaso: TRACE, , WARNDEBUGINFO, , taiERROR
LogFile merkkijono odbc_driver.log Absoluuttinen tai suhteellinen lokitiedostopolku

Välityspalvelimen asetukset

Parametri Type (Tyyppi) Oletus Description
UseProxy totuusarvo false Ota välityspalvelin käyttöön
ProxyHost merkkijono Ei ole Välityspalvelimen isäntänimi
ProxyPort Integer Ei ole Proxy-portti
ProxyUsername merkkijono Ei ole Välityspalvelimen todennuskäyttäjänimi
ProxyPassword merkkijono Ei ole Välityspalvelimen todennussalasana

DSN-konfiguraatio

Linuxissa määritä tietolähteiden nimet (DSN) INI-tiedostoihin Windows-rekisterin sijaan.

Tiedosto Vaikutusalue Access
/etc/odbc.ini Järjestelmätason DSN:t Vaatii sudo
~/.odbc.ini Käyttäjäkohtaiset DSN:t Vain nykyisille käyttäjille

Luo DSN

Kopioi asennettu mallipohja:

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

Muokkaa ~/.odbc.ini Fabric-työtilan yksityiskohtia:

[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

Varmista DSN

Listaa konfiguroidut DSN:t ja testaa sitten yhteys:

odbcinst -q -s
isql -v FabricDSN

Komento isql vaatii unixODBC-komentorivityökalut.

Käytä DSN:ää sovelluksissa

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

Käyttöesimerkkejä

Testaa yhteyttä isql:llä

Aloita interaktiivinen SQL-istunto:

isql -v FabricDSN

Suorita yksi kysely:

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

Työ suurilla tulosjoukoilla

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

Tutustu skeemoihin ja taulukoihin

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

Tietotyyppien kartoittaminen

Ajuri kartoittaa Spark SQL -tietotyypit ODBC:n SQL-tyyppeihin:

Spark SQL -tyyppi ODBC SQL-tyyppi C/C++-tyyppi Python-tyyppi .NET-tyyppi
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-merkkijono string
MAP SQL_VARCHAR SQLCHAR* JSON-merkkijono string
STRUCT SQL_VARCHAR SQLCHAR* JSON-merkkijono string

Käyttöympäristön erot

Ominaisuus Windows Linux
Kuljettajavalmentaja Microsoft ODBC Driver Manager unixODBC
Ajurin binääri microsoftfabricodbc.dll libmicrosoftfabricodbc.so
DSN-konfiguraatio Windows-rekisteri ja käyttöliittymä /etc/odbc.ini Ja ~/.odbc.ini
Kuljettajarekisteröinti Rekisteri ja odbcad32.exe odbcinst -i -d -f
HTTP-asiakasohjelma WinHTTP libcurl
TLS Windows-sisäänrakennettu tuki Openssl
Sertifikaattien tunnistautuminen Windows CryptoAPI OpenSSL RS256- ja PEM- tai PFX-tiedostoilla
Vuorovaikutteinen todentaminen Selausikkuna Ei saatavilla päättömillä palvelimilla
Pakkaus MSI-asennusohjelma Linux-paketti

Vianmääritys

Kuljettajaa ei löydy

Ongelma: Yhteys epäonnistuu .[IM002] Data source name not found and no default driver specified

Ratkaisut:

  1. Varmista kuljettajan rekisteröinti ajamalla odbcinst -q -d.
  2. Varmista, että sellainen /usr/lib/libmicrosoftfabricodbc.so on olemassa.
  3. Rekisteröi ajuri ajamalla sudo odbcinst -i -d -f /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.template.
  4. Asenna paketti uudelleen ajamalla sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.deb.

DSN:ää ei löydy

Ongelma: Yhteys epäonnistuu .[IM002] Data source name not found

Ratkaisut:

  1. Varmista DSN-asetus ajamalla odbcinst -q -s.
  2. Varmista, että ~/.odbc.ini se sisältää /etc/odbc.ini DSN-osion.
  3. Varmista, että arvo Driver täsmälleen vastaa rekisteröityä kuljettajan nimeä.

Yhteyden epäonnistumiset

Ongelma: Ajuri ei pääse yhdistämään Fabric:iin.

Ratkaisut:

  1. Varmista, että työtilan ID ja järvitalotunnus ovat kelvollisia GUID-kortteja.
  2. Tarkista Azure CLI -autentikointi ajamalla az account show.
  3. Varmista, että sinulla on tarvittavat Fabric-työtilaoikeudet.
  4. Tarkista verkkoyhteys ja välityspalvelinasetukset.

Todennusvirheet

Ongelma: Azure CLI -todennus epäonnistuu.

Ratkaisut:

  1. Juokse az login päivittääksesi tunnuksesi.
  2. Aseta oikea tilaus ajamalla az account set --subscription <subscription-id>.
  3. Tarkista token ajamalla az account get-access-token --resource https://api.fabric.microsoft.com.
  4. Varmista, että tililläsi on vaaditut Fabric-työtilaoikeudet.

Jaetun kirjaston virheet

Ongelma: Kuljettaja raportoi error while loading shared libraries: libmicrosoftfabricodbc.so.

Ratkaisut:

  1. Asenna paketti uudelleen ajamalla sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.deb.
  2. Varmista, että sellainen /usr/lib/libmicrosoftfabricodbc.so on olemassa.
  3. Juokse sudo ldconfig päivitäksesi jaetun kirjaston välimuistin.

Kyselyn aikakatkaisut

Ongelma: Kyselyt aikakatkaistaan suurilla pöydillä.

Ratkaisut:

  1. Lisää LargeTableSupport=true yhteysmerkkijono.
  2. Säädä PageSizeBytes tuloksen kokoa.
  3. Lisää EnableAsyncPrefetch=1 yhteysmerkkijono.
  4. Käytä lauseketta LIMIT rajoittaaksesi tuloskokoa.

Lokituksen ottaminen käyttöön

Ota yksityiskohtainen lokiminen käyttöön DSN:ssä:

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

Vaihtoehtoisesti lisää lokiparametrit yhteysmerkkijonoiin:

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

Ajuri tukee seuraavia lokitasoja:

  • TRACE: Sisältää kaikki API-kutsut.
  • DEBUG: Sisältää yksityiskohtaista virheenkorjaustietoa.
  • INFO: Sisältää yleistä tietoa ja on oletus.
  • WARN: Sisältää vain varoitukset.
  • ERROR: Sisältää vain virheitä.

Ota käyttöön unixODBC-jäljitys

Matalan tason ODBC-puheludiagnostiikassa lisää seuraava konfiguraatio :/etc/odbcinst.ini

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

Poista jäljitys pois päältä, kun vianetsintä on valmis, jotta vältät tarpeettomia suorituskykyvaatimuksia.