Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Dieses Feature befindet sich in der Vorschauphase.
ODBC (Open Database Connectivity) ist ein weit verbreiteter Standard, mit dem Clientanwendungen eine Verbindung mit Daten aus Datenbanken und Big Data-Plattformen herstellen und damit arbeiten können.
Der Microsoft ODBC Driver for Fabric Data Engineering ermöglicht es Ihnen, Spark-Workloads in Fabric mit der Zuverlässigkeit und Einfachheit des ODBC-Standards zu verbinden, abzufragen und zu verwalten. Der Treiber basiert auf den Livy-APIs von Fabric und bietet sichere und flexible Spark-SQL-Konnektivität zu Ihren C/C++-, .NET-, Python- und anderen ODBC-kompatiblen Anwendungen unter Linux.
Wichtigste Funktionen
- ODBC 3.x-konform: Vollständige Implementierung der ODBC 3.x-Spezifikation.
- Microsoft Entra ID-Authentifizierung: Mehrere Authentifizierungsflüsse, einschließlich Azure CLI, Client-Zugangsdaten, zertifikatsbasierter und Zugriffstoken-Authentifizierung.
- Spark SQL-Abfrageunterstützung: Direkte Ausführung von Spark SQL-Anweisungen.
-
Umfassende Unterstützung für Datentypen: Unterstützung für alle Spark SQL-Datentypen, einschließlich komplexer Typen (
ARRAY,MAP, undSTRUCT). - Wiederverwendung von Sitzungen: Integriertes Sitzungsmanagement für bessere Leistung.
- Unterstützung für große Tabellen: Optimierte Behandlung für große Ergebnissätze mit konfigurierbaren Seitengrößen.
- Async Prefetch: Hintergrunddatenladen zur verbesserten Leistung.
- Proxy-Unterstützung: HTTP-Proxy-Konfiguration für Unternehmensumgebungen.
- Multi-Schema-Lakehouse-Unterstützung: Verbinden Sie sich mit einem bestimmten Schema innerhalb eines Lakehouse.
Hinweis
In Open-Source Apache Spark werden Datenbank und Schema synonym verwendet. Zum Beispiel liefert das laufende SHOW SCHEMAS oder SHOW DATABASES in einem Fabric-Notizbuch dasselbe Ergebnis: eine Liste aller Schemata im Seehaus.
Voraussetzungen
Bevor Sie den Microsoft ODBC Driver für Microsoft Fabric Data Engineering unter Linux verwenden, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:
- Betriebssystem: Ubuntu 22.04 oder neuer, Debian 11 oder neuer, oder Red Hat Enterprise Linux (RHEL) 8 oder später auf x86-64.
-
unixODBC: Der ODBC-Treibermanager für Linux. Installiere die
unixodbcand-Paketeunixodbc-dev. - Fabric Access: Zugang zu einem Fabric-Arbeitsbereich.
- Microsoft Entra ID-Zugangsdaten: Geeignete Zugangsdaten für die Authentifizierung.
- Arbeitsplatz- und Seehaus-IDs: Die GUID-Kennungen für Ihren Fabric-Arbeitsplatz und Ihr Seehaus.
- Azure CLI (optional): Erforderlich, wenn Sie Azure CLI-Authentifizierung verwenden.
Herunterladen und installieren auf Linux
Der Microsoft ODBC Driver für Microsoft Fabric Data Engineering Version 1.0.0 ist in der öffentlichen Vorschau verfügbar.
Den Treiber installieren:
Extrahieren Sie
ms-sparksql-odbc-linux-1.0.0.zip.Öffnen Sie ein Terminal im extrahierten Verzeichnis.
Installieren Sie das Debian-Paket:
sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.deb
Das Paket installiert die folgenden Dateien:
| File | Installierter Standort |
|---|---|
| Fahrerbibliothek | /usr/lib/libmicrosoftfabricodbc.so |
| Vorlage für Fahrerregistrierung | /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.template |
| DSN-Konfigurationsvorlage | /usr/share/microsoft-fabric-odbc-driver/odbc.ini.template |
| License | /usr/share/doc/microsoft-fabric-odbc-driver/LICENSE |
| Nutzungsleitfaden | /usr/share/doc/microsoft-fabric-odbc-driver/USAGE_Linux.md |
Treiber manuell registrieren
Das Paket registriert den Treiber automatisch bei unixODBC. Um den Treiber manuell zu registrieren, führen Sie aus:
sudo odbcinst -i -d -f /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.template
Überprüfen der Installation
Überprüfen Sie, ob der Treiber registriert ist und die Bibliothek installiert ist:
odbcinst -q -d
ls -la /usr/lib/libmicrosoftfabricodbc.so
Der Befehl odbcinst sollte auflisten [Microsoft ODBC Driver for Microsoft Fabric Data Engineering].
Deinstalliere den Treiber
Um den Treiber zu deinstallieren, führen Sie folgenden Befehl aus:
sudo dpkg -r microsoft-fabric-odbc-driver
Dieser Befehl entfernt die Treiberdateien und deregistriert den Treiber aus unixODBC.
Schnellstartbeispiel
Die folgenden Beispiele verbinden sich mit Fabric und führen eine Spark-SQL-Abfrage aus. Erfülle die Voraussetzungen und installiere den Treiber, bevor du ein Beispiel ausführst.
Python-Beispiel
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++ Beispiel
#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;
}
Baue und führe das Beispiel aus:
g++ -o fabric_test fabric_test.cpp -lodbc -std=c++17
./fabric_test
.NET-Beispiel
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));
}
Format der Verbindungszeichenfolge
Grundlegende Verbindungszeichenfolge
Verwenden Sie das folgende Verbindungszeichenfolge-Format:
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};<parameter1>=<value1>;<parameter2>=<value2>;...
Komponenten der Verbindungszeichenfolge
| Component | Description | Beispiel |
|---|---|---|
DRIVER |
ODBC-Treiberbezeichner | {Microsoft ODBC Driver for Microsoft Fabric Data Engineering} |
WorkspaceId |
Fabric Workspace Identifier (GUID) | 4bbf89a8-66bb-443f-91af-df31e6a7560b |
LakehouseId |
Fabric Lakehouse-Kennung (GUID) | d8faa650-1343-496b-b9cc-d4168a676f90 |
AuthFlow |
Authentifizierungsmethode |
AZURE_CLI, CLIENT_CREDENTIAL, CLIENT_CERTIFICATE oder ACCESS_TOKEN |
Exemplarische Verbindungszeichenfolgen
Grundverbindung
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI
Verbindung mit Leistungsoptionen
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;ReuseSession=true;LargeTableSupport=true;PageSizeBytes=18874368
Verbindung zum Holzeinschlag
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
Authentication
Der Microsoft ODBC Driver for Microsoft Fabric Data Engineering unterstützt mehrere Authentifizierungsmethoden über Microsoft Entra ID. Konfigurieren Sie die Authentifizierung durch Verwendung des Parameters AuthFlow im Verbindungszeichenfolge oder DSN.
Authentifizierungsmethoden
AuthFlow Wert |
Description |
|---|---|
AZURE_CLI |
Entwicklung mit Azure CLI-Anmeldeinformationen |
CLIENT_CREDENTIAL |
Service Principal mit einem Kundengeheimnis |
CLIENT_CERTIFICATE |
Dienstleiter mit Zertifikat |
ACCESS_TOKEN |
Vorab erworbenes Bearerzugriffstoken |
Hinweis
Interaktive Browser-Authentifizierung ist auf headless-Linux-Servern nicht verfügbar. Verwenden Sie stattdessen Azure CLI, Client-Anmeldedaten, zertifikatsbasierte oder Zugriffstoken-Authentifizierung.
Azure CLI-Authentifizierung
Verwenden Sie Azure CLI-Authentifizierung für Entwicklungs- und interaktive Anwendungen.
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)
Bevor Sie sich verbinden, überprüfen Sie, ob die Azure CLI installiert ist, und melden Sie sich an:
az --version
az login
Um Azure CLI auf Debian oder Ubuntu zu installieren, verwenden Sie den Paketmanager:
sudo apt-get update
sudo apt-get install -y azure-cli
Authentifizierung der Client-Zugangsdaten
Verwenden Sie die Authentifizierung der Client-Zugangsdaten für automatisierte Dienste und Hintergrundjobs.
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};"
)
Geben Sie die folgenden Parameter an:
-
TenantId: Die Microsoft Entra-Tenant-ID. -
ClientId: Die Client-ID der Anwendung. -
ClientSecret: Das Geheimnis des Kunden.
Speichere Geheimnisse in einem sicheren Geheimspeicher oder in Umgebungsvariablen. Speichere keine Geheimnisse in Klartext-Verbindungsstrings oder INI-Dateien.
Zertifikatbasierte Authentifizierung
Verwenden Sie zertifikatsbasierte Authentifizierung für Unternehmensanwendungen, die Zertifikatsdaten benötigen.
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>;"
)
Geben Sie die folgenden Parameter an:
-
TenantId: Die Microsoft Entra-Tenant-ID. -
ClientId: Die Client-ID der Anwendung. -
CertificatePath: Der Pfad zur PFX- oder PKCS12-Zertifikatsdatei. -
CertificatePassword: Das Zertifikatspasswort.
Zugriffstokenauthentifizierung
Verwenden Sie die Zugriffstoken-Authentifizierung, wenn Ihre Anwendung ein Token über einen anderen Mechanismus erhält.
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};"
)
Konfigurationsparameter
Erforderliche Parameter
Fügen Sie diese Parameter in jede Verbindungszeichenfolge ein:
| Parameter | Typ | Description | Beispiel |
|---|---|---|---|
WorkspaceId |
UUID | Fabric-Arbeitsbereichsbezeichner | 4bbf89a8-... |
LakehouseId |
UUID | Fabric Lakehouse-Kennkennung | d8faa650-... |
AuthFlow |
Zeichenfolge | Authentifizierungsflusstyp | AZURE_CLI |
Optionale Parameter
Verbindungseinstellungen
| Parameter | Typ | Standard | Description |
|---|---|---|---|
Database |
Zeichenfolge | Keine | Bestimmte Datenbank, mit der eine Verbindung hergestellt werden soll |
Scope |
Zeichenfolge | https://api.fabric.microsoft.com/.default |
OAuth-Bereich |
Leistungseinstellungen
| Parameter | Typ | Standard | Description |
|---|---|---|---|
ReuseSession |
Boolean | true |
Wiederverwenden Sie eine bestehende Spark-Sitzung |
LargeTableSupport |
Boolean | false |
Aktivieren von Optimierungen für große Ergebnismengen |
EnableAsyncPrefetch |
Boolean | false |
Aktivieren des Vorabrufens von Hintergrunddaten |
PageSizeBytes |
Integer |
18874368 (18 MB) |
Seitengröße für Ergebnis-Paginierung von 1 bis 18 MB |
Einstellungen für die Protokollierung
| Parameter | Typ | Standard | Description |
|---|---|---|---|
LogLevel |
Zeichenfolge | INFO |
Log-Level: TRACE, DEBUG, INFO, , WARNoder ERROR |
LogFile |
Zeichenfolge | odbc_driver.log |
Absoluter oder relativer Logdateipfad |
Proxyeinstellungen
| Parameter | Typ | Standard | Description |
|---|---|---|---|
UseProxy |
Boolean | false |
Aktiviere einen Proxy |
ProxyHost |
Zeichenfolge | Keine | Proxy-Hostname |
ProxyPort |
Integer | Keine | Proxyport |
ProxyUsername |
Zeichenfolge | Keine | Benutzername der Proxy-Authentifizierung |
ProxyPassword |
Zeichenfolge | Keine | Proxyauthentifizierungskennwort |
DSN-Konfiguration
Unter Linux konfigurieren Sie Datenquellennamen (DSNs) in INI-Dateien statt in der Windows-Registry.
| File | Geltungsbereich | Zugriff |
|---|---|---|
/etc/odbc.ini |
Systemweite DSNs | Erfordert sudo |
~/.odbc.ini |
Benutzerspezifische DSNs | Nur aktueller Benutzer |
Erstellen eines DSN
Kopiere die installierte Vorlage:
cp /usr/share/microsoft-fabric-odbc-driver/odbc.ini.template ~/.odbc.ini
Bearbeiten ~/.odbc.ini Sie mit Ihren Details zum Fabric-Arbeitsbereich:
[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
Verifiziere die DSN
Liste die konfigurierten DSNs auf und teste dann die Verbindung:
odbcinst -q -s
isql -v FabricDSN
Der Befehl isql benötigt die unixODBC-Kommandozeilen-Tools.
Verwendung eines DSN in Anwendungen
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);
Verwendungsbeispiele
Teste eine Verbindung mit isql
Starte eine interaktive SQL-Sitzung:
isql -v FabricDSN
Führe eine einzelne Abfrage aus:
echo "SELECT 1 AS test" | isql -v FabricDSN -b
Arbeit mit großen Ergebnismengen
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()
Schemata und Tabellen entdecken
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()
Datentypzuordnung
Der Treiber ordnet Spark SQL-Datentypen ODBC-SQL-Typen zu:
| Spark SQL-Typ | ODBC SQL-Typ | C/C++-Typ | Python-Typ | .NET-Typ |
|---|---|---|---|---|
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-Zeichenfolge | string |
MAP |
SQL_VARCHAR |
SQLCHAR* |
JSON-Zeichenfolge | string |
STRUCT |
SQL_VARCHAR |
SQLCHAR* |
JSON-Zeichenfolge | string |
Plattformunterschiede
| Funktion | Windows | Linux |
|---|---|---|
| Fahrermanager | Microsoft ODBC Driver Manager | unixODBC |
| Treiber-Binärform | microsoftfabricodbc.dll |
libmicrosoftfabricodbc.so |
| DSN-Konfiguration | Windows-Registry und GUI |
/etc/odbc.ini und ~/.odbc.ini |
| Fahrerzulassung | Registrierung und odbcad32.exe |
odbcinst -i -d -f |
| HTTP-Client | WinHTTP | libcurl |
| TLS | Windows integrierte Unterstützung | Openssl |
| Zertifikatauthentifizierung | Windows CryptoAPI | OpenSSL mit RS256- und PEM- oder PFX-Dateien |
| Interaktive Authentifizierung | Browserfenster | Nicht verfügbar auf headless-Servern |
| Verpackung | MSI-Installationsprogramm | Linux-Paket |
Troubleshooting
Fahrer nicht gefunden
Problem: Die Verbindung schlägt mit [IM002] Data source name not found and no default driver specifiedfehl.
Lösungen:
- Überprüfen Sie die Fahrerregistrierung, indem Sie
odbcinst -q -d. - Vergewissern Sie sich, dass dies
/usr/lib/libmicrosoftfabricodbc.sovorhanden ist. - Registrieren Sie den Fahrer, indem Sie .
sudo odbcinst -i -d -f /usr/share/microsoft-fabric-odbc-driver/odbcinst.ini.templateausführen. - Installieren Sie das Paket erneut, indem Sie
sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.deb. ausführen.
DSN nicht gefunden
Problem: Die Verbindung schlägt mit [IM002] Data source name not foundfehl.
Lösungen:
- Überprüfen Sie die DSN-Konfiguration, indem Sie
odbcinst -q -s. ausführen. - Überprüfen Sie, ob dieser
~/.odbc.iniden/etc/odbc.iniDSN-Abschnitt enthält. - Stellen Sie sicher, dass der
DriverWert genau mit dem Namen des registrierten Fahrers übereinstimmt.
Verbindungsfehler
Problem: Der Fahrer kann sich nicht mit Fabric verbinden.
Lösungen:
- Überprüfen Sie, ob die Arbeitsplatz-ID und die Lakehouse-ID gültige GUIDs sind.
- Überprüfen Sie die Azure CLI-Authentifizierung, indem Sie
az account show. ausführen - Stelle sicher, dass du die erforderlichen Fabric-Arbeitsbereichsberechtigungen hast.
- Überprüfe die Netzwerkverbindung und die Proxy-Einstellungen.
Authentifizierungsfehler
Problem: Die Azure CLI-Authentifizierung schlägt fehl.
Lösungen:
- Laufen Sie
az login, um Ihre Zugangsdaten zu aktualisieren. - Setze das richtige Abonnement, indem du . ausführst
az account set --subscription <subscription-id>. - Überprüfen Sie den Token, indem Sie .
az account get-access-token --resource https://api.fabric.microsoft.comausführen. - Stellen Sie sicher, dass Ihr Konto die erforderlichen Fabric-Arbeitsbereichsberechtigungen hat.
Fehler in der gemeinsamen Bibliothek
Problem: Der Fahrer meldet error while loading shared libraries: libmicrosoftfabricodbc.so.
Lösungen:
- Installieren Sie das Paket erneut, indem Sie
sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.deb. ausführen. - Vergewissern Sie sich, dass dies
/usr/lib/libmicrosoftfabricodbc.sovorhanden ist. - Führe aus,
sudo ldconfigum den Cache der gemeinsamen Bibliothek zu aktualisieren.
Zeitüberschreitungen bei Abfragen
Problem: Abfragen laufen auf großen Tabellen ab.
Lösungen:
- Fügen Sie der Verbindungszeichenfolge hinzu
LargeTableSupport=true. - Passen
PageSizeBytesSie die Ergebnisgröße an. - Fügen Sie der Verbindungszeichenfolge hinzu
EnableAsyncPrefetch=1. - Verwenden Sie eine
LIMITKlausel, um die Größe des Ergebnisses zu begrenzen.
Protokollierung aktivieren
Aktivieren Sie eine detaillierte Protokollierung in einem DSN:
[FabricDSN]
LogLevel = DEBUG
LogFile = /tmp/fabric_odbc_debug.log
Alternativ fügen Sie dem Verbindungszeichenfolge Logging-Parameter hinzu:
LogLevel=DEBUG;LogFile=/tmp/fabric_odbc_debug.log;
Der Treiber unterstützt folgende Log-Level:
-
TRACE: Beinhaltet alle API-Aufrufe. -
DEBUG: Enthält detaillierte Debugging-Informationen. -
INFO: Enthält allgemeine Informationen und ist der Standard. -
WARN: Enthält nur Warnungen. -
ERROR: Enthält nur Fehler.
Aktivieren Sie unixODBC-Tracing
Für Low-Level-ODBC-Aufrufdiagnostiken fügen Sie folgende Konfiguration hinzu:/etc/odbcinst.ini
[ODBC]
Trace = yes
TraceFile = /tmp/odbc_trace.log
Schalten Sie das Nachverfolgen aus, wenn Sie die Fehlersuche beendet haben, um unnötigen Leistungsaufwand zu vermeiden.