Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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, veSTRUCT). - 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:
öğesini ayıklayın
ms-sparksql-odbc-linux-1.0.0.zip.Çıkarılmış dizinde bir terminal açın.
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:
- Sürücü kaydını doğrulayın.
odbcinst -q -d - Bunun var olduğunu doğrulayın
/usr/lib/libmicrosoftfabricodbc.so. - 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. - 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:
- DSN yapılandırmasını çalıştırarak
odbcinst -q -sdoğrulayın. - Bunu
~/.odbc.inidoğrulayın veya/etc/odbc.iniDSN bölümünü içeriyor. - Değerin
Drivertam 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:
- Çalışma alanı kimliği ve göl evi kimliğinin geçerli GUID olduğunu doğrulayın.
- Azure CLI kimlik doğrulamasını çalıştırarak
az account showkontrol edin. - Gerekli Fabric workspace izinlerine sahip olduğundan emin olun.
- 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:
- Kimlik bilgilerinizi yenilemek için koşun
az login. - Doğru aboneliği ayarlayın ve çalıştırın
az account set --subscription <subscription-id>. - Tokenı çalıştırarak
az account get-access-token --resource https://api.fabric.microsoft.comkontrol edin. - 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:
- Paketi çalıştırarak
sudo dpkg -i microsoft-fabric-odbc-driver-1.0.0-Linux.debyeniden yükleyin. - Bunun var olduğunu doğrulayın
/usr/lib/libmicrosoftfabricodbc.so. - 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:
- Bağlantı dizesine ekleyin
LargeTableSupport=true. - Sonuç boyutuna göre ayarlama
PageSizeBytesyapın. - Bağlantı dizesine ekleyin
EnableAsyncPrefetch=1. - Sonuç boyutunu kısıtlamak için bir
LIMITmadde 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.