Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie is beschikbaar als preview-versie.
ODBC (Open Database Connectivity) is een veelgebruikte standaard waarmee clienttoepassingen verbinding kunnen maken met en kunnen werken met gegevens uit databases en big data-platforms.
Met het Microsoft ODBC-stuurprogramma voor Fabric Data Engineering kunt u Spark-workloads in Microsoft Fabric verbinden, opvragen en beheren met de betrouwbaarheid en eenvoud van de ODBC-standaard. Het stuurprogramma is gebouwd op livy-API's van Microsoft Fabric en biedt veilige en flexibele Spark SQL-connectiviteit met uw .NET-, Python- en andere ODBC-compatibele toepassingen en BI-hulpprogramma's.
Belangrijkste kenmerken
- ODBC 3.x-compatibel: volledige implementatie van ODBC 3.x-specificatie
- Microsoft Entra ID verificatie: meerdere verificatiestromen, waaronder Azure CLI, interactieve, clientreferenties, verificatie op basis van certificaten en toegangstokenverificatie
- Ondersteuning voor Spark SQL-query's: Directe uitvoering van Spark SQL-instructies
- Uitgebreide ondersteuning voor gegevenstypen: ondersteuning voor alle Spark SQL-gegevenstypen, waaronder complexe typen (ARRAY, MAP, STRUCT)
- Opnieuw gebruiken van sessies: ingebouwd sessiebeheer voor verbeterde prestaties
- Ondersteuning voor grote tabellen: Geoptimaliseerde verwerking voor grote resultatensets met configureerbare paginaformaten
- Asynchrone prefetch: laden van achtergrondgegevens voor verbeterde prestaties
- Proxyondersteuning: HTTP-proxyconfiguratie voor bedrijfsomgevingen
- Ondersteuning voor Lakehouse met meerdere schema's: Verbinding maken met een specifiek schema binnen een Lakehouse
- OneLake-integratie: Access Lakehouse-gegevens die zijn opgeslagen in Microsoft OneLake, inclusief tabellen in meerdere schema's, via een geïntegreerde ODBC-interface zonder afzonderlijke opslagconfiguratie
- Omgevingsitems ondersteunen: Fabric omgevingsitems koppelen tijdens het uitvoeren van taken om werkruimtebibliotheken, Spark-eigenschappen en variabelen toe te passen op elke sessie
- Custom Spark-configuratie: Spark-configuratie-eigenschappen rechtstreeks doorgeven via de verbindingsreeks om sessiegedrag af te stemmen
Opmerking
In opensource Apache Spark worden database en schema synoniem gebruikt. Als u bijvoorbeeld SHOW SCHEMAS of SHOW DATABASES uitvoert in een Infrastructuurnotitieblok, wordt hetzelfde resultaat geretourneerd: een lijst met alle schema's in de Lakehouse.
Vereiste voorwaarden
Voordat u het Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering gebruikt, moet u ervoor zorgen dat u het volgende hebt:
- Besturingssysteem: Windows 10/11 of Windows Server 2016+
- Microsoft Fabric Access: Toegang tot een Microsoft Fabric-werkruimte
- Microsoft Entra ID referenties: juiste referenties voor verificatie
- Werkruimte- en Lakehouse-id's: GUID-id's voor uw Fabric-werkruimte en Lakehouse
- Azure CLI (optioneel): vereist voor azure CLI-verificatiemethode
Downloaden en MSI-installatie
Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering versie 1.0.0 is in openbare preview en is te downloaden via deze link naar het downloadcentrum.
- Download het Microsoft ODBC-stuurprogramma voor het MSI-pakket voor Microsoft Fabric Data Engineering
- Dubbelklik
MicrosoftFabricODBCDriver-1.0.msi - Volg de installatiewizard en accepteer de gebruiksrechtovereenkomst
- Installatiemap kiezen (standaard:
C:\Program Files\Microsoft ODBC Driver for Microsoft Fabric Data Engineering\) - De installatie voltooien
Stille installatie
# Silent installation
msiexec /i "MicrosoftFabricODBCDriver-1.0.msi" /quiet
# Installation with logging
msiexec /i "MicrosoftFabricODBCDriver-1.0.msi" /l*v install.log
Installatie controleren
Controleer na de installatie of het stuurprogramma is geregistreerd:
- Uitvoeren
odbcad32.exe(ODBC-gegevensbronbeheer) - Ga naar het tabblad Drivers
- Controleer of het Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering wordt vermeld
Snelstartvoorbeeld
In dit voorbeeld ziet u hoe u verbinding maakt met Microsoft Fabric en een query uitvoert met behulp van het Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering. Voordat u deze code uitvoert, moet u ervoor zorgen dat u de vereisten hebt voltooid en het stuurprogramma hebt geïnstalleerd.
Python-voorbeeld
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-voorbeeld
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));
}
Indeling van verbindingstekenreeks
Basisverbindingsreeks
Het Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering maakt gebruik van de volgende verbindingsreeksindeling:
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};<parameter1>=<value1>;<parameter2>=<value2>;...
Onderdelen van verbindingsreeks
| Onderdeel | Description | Example |
|---|---|---|
| STUURPROGRAMMA | ODBC-stuurprogramma-id | {Microsoft ODBC Driver for Microsoft Fabric Data Engineering} |
| WorkspaceId | Microsoft Fabric-werkruimte-id (GUID) | xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx |
| LakehouseId | Microsoft Fabric Lakehouse-id (GUID) | xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx |
| AuthFlow | Verificatiemethode |
AZURE_CLI
INTERACTIVE, CLIENT_CREDENTIAL, CLIENT_CERTIFICATEACCESS_TOKEN |
Voorbeeld van verbindingsreeksen
Basisverbinding (Azure CLI-verificatie)
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI
Met prestatieopties
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;ReuseSession=true;LargeTableSupport=true;PageSizeBytes=18874368
Met logboekregistratie
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;LogLevel=DEBUG;LogFile=odbc_driver.log
Authenticatie
Het Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering ondersteunt meerdere verificatiemethoden via Microsoft Entra ID (voorheen Azure Active Directory). Verificatie wordt geconfigureerd met behulp van de AuthFlow parameter in de verbindingsreeks.
Verificatiemethoden
| AuthFlow-waarde | Description |
|---|---|
AZURE_CLI |
Ontwikkeling met behulp van Azure CLI-referenties |
INTERACTIVE |
Interactieve verificatie op basis van een browser |
CLIENT_CREDENTIAL |
Service-principal met clientgeheim |
CLIENT_CERTIFICATE |
Service-principal met certificaat |
ACCESS_TOKEN |
Vooraf verkregen bearer-toegangstoken |
Azure CLI-verificatie
Geschikt voor: Ontwikkeling en interactieve toepassingen
# 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)
vereisten:
- Azure CLI geïnstalleerd:
az --version - Ingelogd:
az login
Interactieve browserverificatie
Geschikt voor: gebruikersgerichte toepassingen
# 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)
Gedrag:
- Hiermee opent u een browservenster voor gebruikersverificatie
- Referenties worden in de cache opgeslagen voor volgende verbindingen
Verificatie van clientreferenties (service-principal)
Geschikt voor: Geautomatiseerde services en achtergrondtaken
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};"
)
Vereiste parameters
-
TenantId: Azure-tenant-id -
ClientId: Toepassings-ID (client) van Microsoft Entra ID -
ClientSecret: Clientgeheim van Microsoft Entra-id
Beste praktijken
- Geheimen veilig opslaan (Azure Key Vault, omgevingsvariabelen)
- Beheerde identiteiten gebruiken indien mogelijk
- Geheimen regelmatig roteren
Verificatie op basis van certificaat
Geschikt voor: Bedrijfstoepassingen waarvoor verificatie op basis van certificaten is vereist
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>;"
)
Vereiste parameters:
-
TenantId: Azure-tenant-id -
ClientId: Applicatie-ID (client) -
CertificatePath: Pad naar PFX-/PKCS12-certificaatbestand -
CertificatePassword: Certificaatwachtwoord
Verificatie van toegangstokens
Geschikt voor: Scenario's voor aangepaste verificatie
# 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};"
)
Configuratieparameters
Benodigde parameters
Deze parameters moeten aanwezig zijn in elke verbindingsreeks:
| Kenmerk | Typologie | Description | Example |
|---|---|---|---|
| WorkspaceId | UUID (universeel unieke identificator) | Microsoft Fabric-werkruimte-id | 4bbf89a8-... |
| LakehouseId | UUID (universeel unieke identificator) | Microsoft Fabric Lakehouse-id | d8faa650-... |
| AuthFlow | Snaar / Touwtje | Type verificatiestroom | AZURE_CLI |
Optionele parameters
Verbindingsinstellingen
| Kenmerk | Typologie | Verstek | Description |
|---|---|---|---|
| gegevensbank | Snaar / Touwtje | Geen | Specifieke database waarmee verbinding moet worden gemaakt |
| Scope | Snaar / Touwtje | https://api.fabric.microsoft.com/.default |
OAuth-bereik |
Prestatie-instellingen
| Kenmerk | Typologie | Verstek | Description |
|---|---|---|---|
| Hergebruik sessie | Booleaans | true |
Bestaande Spark-sessie opnieuw gebruiken |
| OndersteuningVoorGroteTabellen | Booleaans | false |
Optimalisaties inschakelen voor grote resultatensets |
| EnableAsyncPrefetch | Booleaans | false |
Achtergrondgegevens vooraf ophalen |
| PageSizeBytes | Integer |
18874368 (18 MB) |
Paginaformaat voor paginering van resultaten (1-18 MB) |
Instellingen voor logboekregistratie
| Kenmerk | Typologie | Verstek | Description |
|---|---|---|---|
| Logniveau | Snaar / Touwtje | INFO |
Logboekniveau: TRACE, DEBUG, INFO, , WARNERROR |
| Logbestand | Snaar / Touwtje | odbc_driver.log |
Pad naar logboekbestand (absoluut of relatief) |
Proxy-instellingen
| Kenmerk | Typologie | Verstek | Description |
|---|---|---|---|
| UseProxy | Booleaans | false |
Proxy inschakelen |
| ProxyHost | Snaar / Touwtje | Geen | Proxyhostnaam |
| ProxyPort | Integer | Geen | Proxypoort |
| ProxyUsername | Snaar / Touwtje | Geen | Gebruikersnaam voor proxyverificatie |
| ProxyPassword | Snaar / Touwtje | Geen | Wachtwoord voor proxyverificatie |
Omgevingsinstellingen
U kunt een Fabric omgevingsitem verbinden aan de Spark-sessie die door de driver is gestart. De bibliotheken, Spark-eigenschappen en variabelen van de geselecteerde omgeving worden automatisch toegepast wanneer de sessie wordt gemaakt.
| Kenmerk | Typologie | Verstek | Description |
|---|---|---|---|
| Omgevings-ID | UUID (universeel unieke identificator) | Geen | Fabric omgevingsitem-id (GUID) die moet worden toegepast tijdens het maken van een Spark-sessie |
Voorbeeld verbindingsreeks met een omgevingselement:
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;EnvironmentId=<environment-id>
Opmerking
De omgeving wordt toegepast wanneer de Spark-sessie wordt gestart. Als u ook aangepaste Spark-configuratie-eigenschappen opgeeft, hebben eigenschappen op sessieniveau voorrang op de standaardinstellingen van de omgeving.
Aangepaste Spark-configuratie
U kunt spark-configuratie-eigenschappen rechtstreeks doorgeven in de verbindingsreeks. Elke parameter waaraan spark. wordt voorafgegaan, wordt automatisch toegepast op de Spark-sessie tijdens het maken, zodat u de standaardinstellingen voor werkruimten of runtime kunt overschrijven.
Voorbeeld van Spark-configuraties:
spark.sql.shuffle.partitions=200
spark.sql.adaptive.enabled=true
spark.sql.autoBroadcastJoinThreshold=10485760
Voorbeeld verbindingsreeks met aangepaste Spark-eigenschappen:
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
Opmerking
Spark-configuratie-eigenschappen worden toegepast wanneer de sessie wordt gemaakt. Ze zijn van toepassing op alle query's die worden uitgevoerd binnen die sessie en overschrijven de standaardinstellingen voor de omgeving of runtime voor dezelfde eigenschappen.
DSN-configuratie
Een systeem-DSN maken
ODBC-beheerder openen
%SystemRoot%\System32\odbcad32.exeNieuwe systeem-DSN maken
- Ga naar het tabblad Systeem-DSN
- Selecteer 'Toevoegen'
- Selecteer 'Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering'
- Selecteer Voltooien
DSN-instellingen configureren
-
Naam van gegevensbron: voer een unieke naam in (bijvoorbeeld
FabricODBC) - Beschrijving: Optionele beschrijving
- Werkruimte-ID: GUID van uw Fabric-werkruimte
- Lakehouse-id: Uw Fabric Lakehouse-GUID
- Verificatie: verificatiemethode selecteren
- Omgevings-id (optioneel): Voer de GUID in van het Fabric omgevingsitem voor koppeling tijdens het maken van de sessie
- Aanvullende instellingen configureren indien nodig
-
Naam van gegevensbron: voer een unieke naam in (bijvoorbeeld
Verbinding testen
- Selecteer Verbinding testen om de instellingen te verifiëren
- Selecteer OK om op te slaan
DSN gebruiken in toepassingen
# Python - Connect using DSN
conn = pyodbc.connect("DSN=FabricODBC")
// .NET - Connect using DSN
using var connection = new OdbcConnection("DSN=FabricODBC");
await connection.OpenAsync();
Voorbeelden van gebruik
Eenvoudige verbinding en opvraging
Python
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));
}
}
}
}
Werken met grote resultatensets
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()
Schema-ontdekking
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()
Koppeling van gegevenstypen
Het stuurprogramma wijst Spark SQL-gegevenstypen toe aan ODBC SQL-typen:
| Spark SQL-type | ODBC SQL-type | C/C++ Type | Python-type | .NET-type |
|---|---|---|---|---|
| BOOLEAN | SQL_BIT | SQLCHAR | bool | bool |
| BYTE | SQL_TINYINT | SQLSCHAR | int | sbyte |
| KORTE | SQL_SMALLINT | SQLSMALLINT | int | short |
| INT | SQL_INTEGER | SQLINTEGER | int | int |
| LONG | SQL_BIGINT | SQLBIGINT | int | lang |
| FLOAT | SQL_REAL | SQLREAL | zweven | zweven |
| Dubbel | SQL_DOUBLE | SQLDOUBLE | zweven | dubbel |
| Decimaal | SQL_DECIMAL | SQLCHAR* | decimal.Decimal | decimal |
| STRING | SQL_VARCHAR | SQLCHAR* | Str | touw |
| VARCHAR(n) | SQL_VARCHAR | SQLCHAR* | Str | touw |
| CHAR(n) | SQL_CHAR | SQLCHAR* | Str | touw |
| 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) | touw |
| MAP | SQL_VARCHAR | SQLCHAR* | str (JSON) | touw |
| Structuur | SQL_VARCHAR | SQLCHAR* | str (JSON) | touw |
Integratie van BI-hulpprogramma's
Microsoft Excel
- Excel openen -> gegevens -> Gegevens ophalen -> uit andere bronnen -> van ODBC
- Selecteer uw geconfigureerde DSN (bijvoorbeeld
FabricODBC) - Verifiëren als hierom wordt gevraagd
- Door tabellen bladeren en selecteren
- Gegevens laden in excel-werkblad
Power BI Desktop
- Power BI Desktop openen -> Gegevens ophalen -> ODBC
- Selecteer uw geconfigureerde DSN
- Bladeren in gegevenscatalogus en tabellen selecteren
- Gegevens naar behoefte transformeren
- Visualisaties maken
SQL Server Management Studio (gekoppelde server)
-- 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;
Probleemoplossingsproces
Deze sectie bevat richtlijnen voor het oplossen van veelvoorkomende problemen die kunnen optreden bij het gebruik van het Microsoft ODBC-stuurprogramma voor Microsoft Fabric Data Engineering.
Veelvoorkomende problemen
In de volgende secties worden veelvoorkomende problemen en hun oplossingen beschreven:
Verbindingsfouten
Probleem: Kan geen verbinding maken met Microsoft Fabric
Oplossingen:
- Controleer of werkruimte-id en Lakehouse-id de juiste GUID's zijn
- Azure CLI-verificatie controleren:
az account show - Zorg ervoor dat u over de juiste Fabric werkruimtemachtigingen beschikt
- Netwerkconnectiviteit en proxy-instellingen controleren
Authenticatiefouten
Probleem: verificatie mislukt met Azure CLI
Oplossingen:
- Voer
az loginuit om referentiegegevens te vernieuwen - Controleer de juiste tenant:
az account set --subscription <subscription-id> - Controleer de geldigheid van het token:
az account get-access-token --resource https://api.fabric.microsoft.com
Querytime-outs
Probleem: Time-outs van query's in grote datasets
Oplossingen:
-
LargeTableSupport=trueinschakelen - Aanpassen
PageSizeBytesvoor optimale segmentgrootte - Asynchrone prefetch inschakelen:
EnableAsyncPrefetch=1 - Gebruik
LIMITclausule om de resultaatgrootte te beperken
Logboekregistratie inschakelen
Bij het oplossen van problemen kan het inschakelen van gedetailleerde logboekregistratie u helpen bij het identificeren van de hoofdoorzaak van problemen. U kunt logboekregistratie inschakelen via de verbindingsreeks.
Gedetailleerde logboekregistratie inschakelen:
LogLevel=DEBUG;LogFile=C:\temp\odbc_driver_debug.log;
Logboekniveaus:
-
TRACE: De meeste uitgebreide, omvat alle API-aanroepen -
DEBUG: Gedetailleerde informatie over foutopsporing -
INFO: Algemene informatie (standaard) -
WARN: alleen waarschuwingen -
ERROR: alleen fouten
ODBC-tracering
Voor diagnostische gegevens op laag niveau kunt u Windows ODBC-tracering inschakelen om gedetailleerde ODBC-API-aanroepen en stuurprogrammagedrag vast te leggen. Vergeet niet om tracering uit te schakelen wanneer u niet nodig bent om optimale prestaties te behouden.
ODBC-tracering inschakelen:
-
odbcad32.exeopenen - Ga naar het tabblad Tracering
- Pad naar traceringsbestand instellen (bijvoorbeeld
C:\temp\odbctrace.log) - Start nu met traceren
- Reproduceer het probleem
- Selecteer Nu stoppen met traceren