Partilhar via


Copiar dados de e para armazenamentos de dados ODBC usando Azure Data Factory ou Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

Este artigo explica como usar a Atividade de Cópia no Azure Data Factory para copiar dados de e para um armazenamento de dados ODBC. Ele se baseia no artigo de visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.

Capacidades suportadas

Este conector ODBC é suportado para as seguintes funcionalidades:

Capacidades suportadas IR
atividade Copy (fonte/sumidouro) (2)
Atividade de Pesquisa (2)

(1) Runtime de integração Azure (2) Runtime de integração auto-hospedado

Para obter uma lista de armazenamentos de dados suportados como fontes/coletores, consulte a tabela Armazenamentos de dados suportados.

Especificamente, esse conector ODBC suporta a cópia de dados de/para qualquer armazenamento de dados compatível com ODBC usando autenticação básica ou anônima. É necessário um driver ODBC de 64 bits. Para o coletor ODBC, o serviço suporta o padrão ODBC versão 2.0.

Pré-requisitos

Para usar esse conector ODBC, você precisa:

  • Configurar um Self-hosted Integration Runtime. Consulte o artigo Self-hosted Integration Runtime para mais detalhes.
  • Instale o driver ODBC de 64 bits para o armazenamento de dados na máquina de Integration Runtime.

Começar

Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

Criar um serviço vinculado a um armazenamento de dados ODBC usando a interface do usuário

Use os seguintes passos para criar um serviço ligado a um armazenamento de dados ODBC na interface do portal Azure.

  1. Navegue até ao separador Gerir no seu espaço de trabalho Azure Data Factory ou Synapse e selecione Serviços Ligados, depois clique em Novo:

  2. Procure ODBC e selecione o conector ODBC.

    Captura de ecrã do conector ODBC.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Captura de tela da configuração do serviço vinculado para um armazenamento de dados ODBC.

Detalhes de configuração do conector

As seções a seguir fornecem detalhes sobre propriedades que são usadas para definir entidades do Data Factory específicas para o conector ODBC.

Propriedades do serviço vinculado

As seguintes propriedades são suportadas para o serviço vinculado ODBC:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como: Odbc Sim
connectionString A string de conexão que exclui a parte das credenciais. Podes especificar a cadeia de conexão com um padrão como Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase;, ou usar o DSN (Data Source Name) do sistema que configuraste na máquina de Integration Runtime com DSN=<name of the DSN on IR machine>; (ainda precisas de especificar corretamente a parte das credenciais no serviço ligado).
Também pode colocar uma palavra-passe no Azure Key Vault e extrair a configuração password da cadeia de ligação. Consulte a secção Guardar credenciais no Azure Key Vault para mais detalhes.
Sim
tipoDeAutenticação Tipo de autenticação usado para se conectar ao armazenamento de dados ODBC.
Os valores permitidos são: Básico e Anônimo.
Sim
nome de utilizador Especifique o nome de usuário se estiver usando a autenticação Básica. Não
palavra-passe Especifique a senha para a conta de usuário que você especificou para o userName. Marque este campo como um SecureString para o armazenar de forma segura, ou referencia um segredo guardado em Azure Key Vault. Não
credencial A parte de credenciais de acesso da cadeia de ligação especificada no formato valor-propriedade específico do driver. Exemplo: "RefreshToken=<secret refresh token>;". Marque este campo como SecureString. Não
conectarVia O Integration Runtime para ser usado para se ligar ao armazenamento de dados. É necessário um Integration Runtime auto-hospedado, conforme mencionado em Pré-requisitos. Sim

Exemplo 1: usando a autenticação básica

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exemplo 2: usando a autenticação anônima

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Anonymous",
            "credential": {
                "type": "SecureString",
                "value": "RefreshToken=<secret refresh token>;"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo sobre conjuntos de dados. Esta seção fornece uma lista de propriedades suportadas pelo conjunto de dados ODBC.

Para copiar dados de/para o armazenamento de dados compatível com ODBC, as seguintes propriedades são suportadas:

Propriedade Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como: OdbcTable Sim
tableName Nome da tabela no armazenamento de dados ODBC. Não para a origem (se "consulta" na origem da atividade for especificada);
Sim para lavatório

Exemplo

{
    "name": "ODBCDataset",
    "properties": {
        "type": "OdbcTable",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ODBC linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "tableName": "<table name>"
        }
    }
}

Se estiver a utilizar RelationalTable o conjunto de dados tipificado, ele ainda é suportado tal como está, mas recomenda-se usar o novo no futuro.

Propriedades da atividade de cópia

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades suportadas pela fonte ODBC.

ODBC como fonte

Para copiar dados de um armazenamento de dados compatível com ODBC, as seguintes propriedades são suportadas na secção de origem da atividade de cópia:

Propriedade Descrição Obrigatório
tipo A propriedade tipo da fonte de atividade de cópia deve ser definida como: OdbcSource Sim
consulta Utilize uma consulta SQL personalizada para ler dados. Por exemplo: "SELECT * FROM MyTable". Não (se "tableName" estiver especificado no conjunto de dados)

Exemplo:

"activities":[
    {
        "name": "CopyFromODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ODBC input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "OdbcSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Se estiveres a usar RelationalSource fonte digitada, ela ainda é suportada como está, mas recomenda-se que utilizes a nova versão no futuro.

ODBC como sumidouro

Para copiar dados para armazenamento de dados compatível com ODBC, defina o tipo de coletor na atividade de cópia como OdbcSink. As seguintes propriedades são suportadas na seção coletor de atividade de cópia:

Propriedade Descrição Obrigatório
tipo A propriedade type do coletor de atividade de cópia deve ser definida como: OdbcSink Sim
writeBatchTimeout Aguarde o tempo para que a operação de inserção em lote seja concluída antes que ela atinja o tempo limite.
Os valores permitidos são: timespan. Exemplo: "00:30:00" (30 minutos).
Não
writeBatchSize Insere dados na tabela SQL quando o tamanho do buffer atinge writeBatchSize.
Os valores permitidos são: inteiro (número de linhas).
Não (o padrão é 0 - detetado automaticamente)
preCopyScript Especifique uma consulta SQL para Atividade de Cópia a ser executada antes de gravar dados no armazenamento de dados em cada execução. Você pode usar essa propriedade para limpar os dados pré-carregados. Não

Nota

Para "writeBatchSize", se não estiver definido (detetado automaticamente), a atividade de cópia primeiro deteta se o driver suporta operações em lote e define-o como 10000 se o fizer, ou defina-o como 1 se não o fizer. Se você definir explicitamente o valor diferente de 0, a atividade de cópia honrará o valor e falhará no tempo de execução se o driver não suportar operações em lote.

Exemplo:

"activities":[
    {
        "name": "CopyToODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ODBC output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "OdbcSink",
                "writeBatchSize": 100000
            }
        }
    }
]

Propriedades da atividade de consulta

Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.

Resolver problemas de conectividade

Para resolver problemas de ligação, use o separador Diagnostics do Integration Runtime Gestor de Configuração.

  1. Lançar Integration Runtime Gestor de Configuração.
  2. Mude para o separador Diagnósticos.
  3. Na seção "Testar conexão", selecione o tipo de armazenamento de dados (serviço vinculado).
  4. Especifique o cadeia de ligação usado para se ligar ao armazenamento de dados, escolha o autenticação e insira nome de utilizador, password e/ou c4.
  5. Clique em Testar conexão para testar a conexão com o armazenamento de dados.

Para obter uma lista de armazenamentos de dados suportados como fontes e coletores pela atividade de cópia, consulte Armazenamentos de dados suportados.