Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Este recurso está em pré-visualização.
ODBC (Open Database Connectivity) é um padrão amplamente adotado que permite que aplicações clientes se liguem e trabalhem com dados provenientes de bases de dados e plataformas de big data.
O Microsoft ODBC Driver for Fabric Data Engineering permite-lhe ligar, consultar e gerir cargas de trabalho Spark no Fabric com a fiabilidade e simplicidade do padrão ODBC. Baseado nas APIs Livy da Fabric, o driver fornece conectividade Spark SQL segura e flexível para as suas aplicações e ferramentas de BI compatíveis com .NET, Python e outras compatíveis com ODBC.
Principais características
- Compatível com ODBC 3.x: Implementação completa da especificação ODBC 3.x
- Autenticação Microsoft Entra ID: Múltiplos fluxos de autenticação, incluindo autenticação CLI do Azure, interativa, credenciais de cliente, baseada em certificados e autenticação por token de acesso
- Suporte para consultas SQL Spark: Execução direta de instruções SQL Spark
- Suporte abrangente de tipos de dados: Suporte para todos os tipos de dados SQL do Spark, incluindo tipos complexos (ARRAY, MAP, STRUCT)
- Reutilização de sessões: Gestão de sessões integrada para melhorar o desempenho
- Suporte a tabelas grandes: Tratamento otimizado para grandes conjuntos de resultados com tamanhos de página configuráveis
- Prefetch assíncrono: Carregamento de dados em segundo plano para melhorar o desempenho
- Suporte a proxys: Configuração de proxy HTTP para ambientes empresariais
- Suporte multi-esquema para casas de lago: Ligue-se a um esquema específico dentro de uma casa de lago
- Integração OneLake: Aceder aos dados do lakehouse armazenados no OneLake, incluindo tabelas em múltiplos esquemas, através de uma interface ODBC unificada sem configuração de armazenamento separada
- Suporte a elementos de ambiente: Anexar elementos de ambiente Fabric durante a execução do trabalho para aplicarem bibliotecas de espaço de trabalho, propriedades Spark e variáveis a cada sessão
- Custom Spark configuration: Passe as propriedades de configuração do Spark diretamente pela cadeia de ligação para ajustar o comportamento da sessão
Observação
No Apache Spark de código aberto, base de dados e esquema são usados como sinónimos. Por exemplo, executar SHOW SCHEMAS ou SHOW DATABASES num caderno Fabric devolve o mesmo resultado — uma lista de todos os esquemas na casa do lago.
Pré-requisitos
Antes de usar o Microsoft ODBC Driver para Engenharia de Dados Microsoft Fabric, certifique-se de que tem:
- Sistema operativo: Windows 10/11 ou Windows Server 2016+
- Fabric Access: Acesso a um espaço de trabalho Fabric
- Credenciais Microsoft Entra ID: Credenciais adequadas para autenticação
- IDs de espaço de trabalho e casa do lago: identificadores GUID para o seu espaço de trabalho Fabric e casa do lago
- CLI do Azure (opcional): Necessário para o método de autenticação CLI do Azure
Download e instalação do MSI
O Microsoft ODBC Driver para Microsoft Fabric Data Engineering versão 1.0.0 está em pré-visualização pública, que pode ser descarregado neste link do centro de downloads.
- Descarregue o pacote MSI do Driver ODBC da Microsoft para o Microsoft Fabric Data Engineering
- Faça duplo clique
MicrosoftFabricODBCDriver-1.0.msi - Siga o assistente de instalação e aceite o contrato de licença
- Escolher diretório de instalação (predefinido:
C:\Program Files\Microsoft ODBC Driver for Microsoft Fabric Data Engineering\) - Concluir a instalação
Instalação silenciosa
# Silent installation
msiexec /i "MicrosoftFabricODBCDriver-1.0.msi" /quiet
# Installation with logging
msiexec /i "MicrosoftFabricODBCDriver-1.0.msi" /l*v install.log
Verificar a instalação
Após a instalação, verifique se o driver está registado:
- Execute
odbcad32.exe(Administrador da Fonte de Dados ODBC) - Ir para o separador Drivers
- Verifique que "Microsoft ODBC Driver for Microsoft Fabric Data Engineering" está listado
Exemplo de início rápido
Este exemplo demonstra como se ligar ao Fabric e executar uma consulta usando o Microsoft ODBC Driver for Microsoft Fabric Data Engineering. Antes de executar este código, certifique-se de que cumpriu os pré-requisitos e instalou o driver.
Exemplo de Python
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()
Exemplo do .NET
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));
}
Formato da cadeia de conexão
Cadeia básica de ligação
O Driver Microsoft ODBC para Engenharia de Dados Microsoft Fabric utiliza o seguinte formato de string de ligação:
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};<parameter1>=<value1>;<parameter2>=<value2>;...
Componentes da corda de ligação
| Componente | Description | Example |
|---|---|---|
| PILOTO | Identificador de driver ODBC | {Microsoft ODBC Driver for Microsoft Fabric Data Engineering} |
| WorkspaceId | Identificador de espaço de trabalho Fabric (GUID) | xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx |
| LakehouseId | Identificador de Fabric lakehouse (GUID) | xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx |
| AuthFlow | Método de autenticação |
AZURE_CLI, INTERACTIVE, CLIENT_CREDENTIAL, CLIENT_CERTIFICATE, ACCESS_TOKEN |
Exemplo de cadeias de conexão
Conexão básica (autenticação CLI do Azure)
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI
Com opções de desempenho
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;ReuseSession=true;LargeTableSupport=true;PageSizeBytes=18874368
Com registo
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;LogLevel=DEBUG;LogFile=odbc_driver.log
Authentication
O Microsoft ODBC Driver for Microsoft Fabric Data Engineering suporta múltiplos métodos de autenticação através do Microsoft Entra ID (anteriormente Azure Active Directory). A autenticação é configurada usando o AuthFlow parâmetro na cadeia de ligação.
Métodos de autenticação
| Valor AuthFlow | Description |
|---|---|
AZURE_CLI |
Desenvolvimento utilizando credenciais do CLI do Azure |
INTERACTIVE |
Autenticação interativa baseada em navegador |
CLIENT_CREDENTIAL |
Principal de serviço com segredo de cliente |
CLIENT_CERTIFICATE |
Entidade de serviço com certificado |
ACCESS_TOKEN |
Token de acesso pré-adquirido ao portador |
Autenticação da CLI do Azure
Melhor para: Desenvolvimento e aplicações interativas
# 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)
Prerequisites:
- CLI do Azure instalado:
az --version - Sessão iniciada:
az login
Autenticação interativa do navegador
Melhor para: Aplicações voltadas para utilizadores
# 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)
Comportamento:
- Abre uma janela do navegador para autenticação do utilizador
- As credenciais são armazenadas em cache para ligações subsequentes
Autenticação de credenciais do cliente (service principal)
Ideal para: Serviços automatizados e tarefas em segundo plano
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};"
)
Parâmetros necessários
-
TenantId: ID de inquilino Azure -
ClientId: ID da aplicação (cliente) a partir do ID Microsoft Entra -
ClientSecret: Segredo do cliente do Microsoft Entra ID
Melhores práticas
- Armazenar segredos de forma segura (Azure Key Vault, variáveis de ambiente)
- Use identidades geridas sempre que possível
- Alterne os segredos regularmente
Autenticação baseada em certificado
Ideal para: aplicações empresariais que requerem autenticação baseada em certificado
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>;"
)
Parâmetros exigidos:
-
TenantId: ID de inquilino Azure -
ClientId: ID da aplicação (cliente) -
CertificatePath: Caminho para o ficheiro de certificado PFX/PKCS12 -
CertificatePassword: Palavra-passe do certificado
Autenticação de token de acesso
Melhor para: cenários de autenticação personalizados
# 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};"
)
Parâmetros de configuração
Parâmetros necessários
Estes parâmetros devem estar presentes em cada cadeia de conexão:
| Parâmetro | Tipo | Description | Example |
|---|---|---|---|
| WorkspaceId | Identificador Único Universal (UUID) | Identificador de espaço de trabalho Fabric | 4bbf89a8-... |
| LakehouseId | Identificador Único Universal (UUID) | Identificador de Fabric lakehouse | d8faa650-... |
| AuthFlow | Cordão | Tipo de fluxo de autenticação | AZURE_CLI |
Parâmetros opcionais
Definições de ligação
| Parâmetro | Tipo | Predefinido | Description |
|---|---|---|---|
| Base de dados | Cordão | Nenhum | Base de dados específica a que se deve ligar |
| Scope | Cordão | https://api.fabric.microsoft.com/.default |
Âmbito OAuth |
Configurações de desempenho
| Parâmetro | Tipo | Predefinido | Description |
|---|---|---|---|
| ReuseSession | booleano | true |
Reutilizar a sessão existente do Spark |
| Suporte para Tabelas Grandes | booleano | false |
Permitir otimizações para grandes conjuntos de resultados |
| EnableAsyncPrefetch | booleano | false |
Ativar pré-carregamento de dados em segundo plano |
| TamanhoDaPáginaEmBytes | Número inteiro |
18874368 (18 MB) |
Tamanho da página para paginação dos resultados (1-18 MB) |
Configurações de registo
| Parâmetro | Tipo | Predefinido | Description |
|---|---|---|---|
| LogLevel | Cordão | INFO |
Nível de log: TRACE, DEBUG, INFO, WARN, ERROR |
| Ficheiro de Registo | Cordão | odbc_driver.log |
Caminho do ficheiro de registo (absoluto ou relativo) |
Definições de proxy
| Parâmetro | Tipo | Predefinido | Description |
|---|---|---|---|
| UseProxy | booleano | false |
Ativar proxy |
| ProxyHost | Cordão | Nenhum | Nome de host proxy |
| ProxyPort | Número inteiro | Nenhum | Porta proxy |
| ProxyUsername | Cordão | Nenhum | Nome de utilizador de autenticação por proxy |
| ProxiPassword | Cordão | Nenhum | Palavra-passe de autenticação por proxy |
Definições do ambiente
Podes anexar um item do ambiente Fabric à sessão Spark iniciada pelo driver. As bibliotecas, propriedades do Spark e variáveis do ambiente selecionado são automaticamente aplicadas quando a sessão é criada.
| Parâmetro | Tipo | Predefinido | Description |
|---|---|---|---|
| Identificador do Ambiente | Identificador Único Universal (UUID) | Nenhum | Identificador de item do ambiente Fabric (GUID) para aplicar durante a criação da sessão Spark |
Exemplo de cadeia de conexão com item de ambiente:
DRIVER={Microsoft ODBC Driver for Microsoft Fabric Data Engineering};WorkspaceId=<workspace-id>;LakehouseId=<lakehouse-id>;AuthFlow=AZURE_CLI;EnvironmentId=<environment-id>
Observação
O ambiente é aplicado quando a sessão Spark começa. Se também especificar propriedades de configuração personalizadas do Spark, as propriedades ao nível da sessão têm prioridade sobre as definições do ambiente.
Configuração personalizada do Spark
Podes passar as propriedades de configuração do Spark diretamente na cadeia de ligação. Qualquer parâmetro com o prefixo spark. é automaticamente aplicado à sessão Spark no momento da criação, permitindo-lhe sobrepor os predeterminados do workspace ou do tempo de execução.
Exemplos de configurações do Spark:
spark.sql.shuffle.partitions=200
spark.sql.adaptive.enabled=true
spark.sql.autoBroadcastJoinThreshold=10485760
Exemplo de string de conexão com propriedades personalizadas do Spark:
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
Observação
As propriedades de configuração do Spark são aplicadas quando a sessão é criada. Aplicam-se a todas as consultas executadas nessa sessão e sobrepõem os predeterminados do ambiente ou do tempo de execução para as mesmas propriedades.
Configuração DSN
Criar um sistema DSN
Abrir o Administrador ODBC
%SystemRoot%\System32\odbcad32.exeCriar Novo Sistema DSN
- Vá ao separador "System DSN"
- Selecione "Adicionar"
- Selecione "Microsoft ODBC Driver for Microsoft Fabric Data Engineering"
- Selecione "Terminar"
Configurar as Definições da DSN
-
Nome da Fonte de Dados: Insira um nome único (por exemplo,
FabricODBC) - Descrição: Descrição opcional
- ID do espaço de trabalho: GUID do seu espaço de trabalho Fabric
- Lakehouse ID: O seu GUID do Lakehouse Fabric
- Autenticação: Selecionar método de autenticação
- ID de Ambiente (opcional): Introduza o GUID do item de ambiente Fabric a anexar durante a criação da sessão
- Configure definições adicionais conforme necessário
-
Nome da Fonte de Dados: Insira um nome único (por exemplo,
Testar conexão
- Selecione "Testar Ligação" para verificar as definições
- Selecione "OK" para guardar
Utilizar DSN em aplicações
# Python - Connect using DSN
conn = pyodbc.connect("DSN=FabricODBC")
// .NET - Connect using DSN
using var connection = new OdbcConnection("DSN=FabricODBC");
await connection.OpenAsync();
Exemplos de utilização
Ligação básica e consulta
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));
}
}
}
}
Trabalhar com grandes conjuntos de resultados
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()
Descoberta de esquema
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()
Mapeamento de tipos de dados
O driver mapeia os tipos de dados SQL do Spark para tipos SQL ODBC:
| Tipo SQL Spark | Tipo de SQL ODBC | Tipo C/C++ | Tipo Python | Tipo .NET |
|---|---|---|---|---|
| BOOLEAN | SQL_BIT | SQLCHAR | bool | bool |
| byte | SQL_TINYINT | SQLSCHAR | int | Sbyte |
| CURTO | SQL_SMALLINT | SQLSMALLINT | int | short |
| INT | SQL_INTEGER | SQLINTEGER | int | int |
| LONG | SQL_BIGINT | SQLBIGINT | int | long |
| FLOAT | SQL_REAL | SQLREAL | float | float |
| DUPLO | SQL_DOUBLE | SQLDOUBLE | float | duplo |
| DECIMAL | SQL_DECIMAL | SQLCHAR* | decimal.Decimal | decimal |
| STRING | SQL_VARCHAR | SQLCHAR* | str | cadeia (de caracteres) |
| VARCHAR(n) | SQL_VARCHAR | SQLCHAR* | str | cadeia (de caracteres) |
| CHAR(n) | SQL_CHAR | SQLCHAR* | str | cadeia (de caracteres) |
| BINARY | SQL_BINARY | SQLCHAR* | bytes | byte[] |
| DATE | SQL_TYPE_DATE | SQL_DATE_STRUCT | datetime.date | DateTime |
| DATA E HORA | SQL_TYPE_TIMESTAMP | SQL_TIMESTAMP_STRUCT | datetime.datetime | DateTime |
| ARRAY | SQL_VARCHAR | SQLCHAR* | string (JSON) | cadeia (de caracteres) |
| MAP | SQL_VARCHAR | SQLCHAR* | string (JSON) | cadeia (de caracteres) |
| STRUCT | SQL_VARCHAR | SQLCHAR* | string (JSON) | cadeia (de caracteres) |
Integração com ferramentas de BI
Microsoft Excel
- Abrir Excel -> Dados -> Obter Dados -> De Outras Fontes -> Do ODBC
- Selecione o seu DSN configurado (por exemplo,
FabricODBC) - Autentique se for solicitado
- Navegue e selecione tabelas
- Carregar dados numa folha de cálculo Excel
Power BI Desktop
- Abrir Power BI Desktop -> Obter Dados -> ODBC
- Selecione o seu DSN configurado
- Navegue pelo catálogo de dados e selecione tabelas
- Transformar dados conforme necessário
- Criar visualizações
SQL Server Management Studio (Servidor Ligado)
-- 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;
Solução de problemas
Esta secção fornece orientações para resolver problemas comuns que possa encontrar ao utilizar o Microsoft ODBC Driver for Microsoft Fabric Data Engineering.
Problemas comuns
As secções seguintes descrevem problemas comuns e as suas soluções:
Falhas de ligação
Problema: Não consigo ligar ao Fabric
Soluções:
- Verifica que o ID do workspace e o Lakehouse ID são os GUIDs corretos
- Verificar a autenticação do CLI do Azure:
az account show - Garante que tens as permissões adequadas para o espaço de trabalho do Fabric
- Verifique a conectividade de rede e as definições do proxy
Erros de autenticação
Problema: A autenticação falha com o CLI do Azure
Soluções:
- Executar
az loginpara atualizar as credenciais - Verifique o inquilino correto:
az account set --subscription <subscription-id> - Verificar a validade do token:
az account get-access-token --resource https://api.fabric.microsoft.com
Tempos limite da consulta
Problema: Consultas a exceder o tempo limite em tabelas muito grandes
Soluções:
- Ativar
LargeTableSupport=true - Ajusta
PageSizeBytespara o tamanho ótimo do bloco - Ativar a pré-busca assíncrona:
EnableAsyncPrefetch=1 - Use
LIMITcláusula para restringir o tamanho do resultado
Ativar log
Ao resolver problemas, ativar registos detalhados pode ajudar a identificar a causa raiz dos problemas. Podes ativar o registo através da cadeia de ligação.
Para permitir registos detalhados:
LogLevel=DEBUG;LogFile=C:\temp\odbc_driver_debug.log;
Níveis de log:
-
TRACE: O mais verboso, inclui todas as chamadas de API -
DEBUG: Informação detalhada de depuração -
INFO: Informação geral (predefinição) -
WARN: Apenas avisos -
ERROR: Apenas erros
Rastreio ODBC
Para diagnósticos de baixo nível, pode ativar o rastreamento ODBC do Windows para capturar chamadas detalhadas de API ODBC e o comportamento dos drivers. Lembre-se de desligar o rastreamento quando não for necessário para manter o desempenho ideal.
Para ativar o rastreamento ODBC:
- Abrir
odbcad32.exe - Ir ao separador "Traçar"
- Definir o caminho do ficheiro de rastreio (por exemplo,
C:\temp\odbctrace.log) - Selecione "Começar a Rastrear Agora"
- Reproduza o problema
- Selecione "Parar de Rastrear Agora"