Compartilhar via


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

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Este artigo descreve como usar a atividade de cópia no Azure Data Factory para copiar dados de e para um armazenamento de dados ODBC. Ele amplia o artigo Visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.

Funcionalidades com suporte

O conector do ODBC é compatível com as seguintes funcionalidades:

Funcionalidades com suporte IR
Atividade de cópia (origem/coletor)
Atividade de pesquisa

① Runtime de integração do Azure ② Runtime de integração auto-hospedada

Para obter uma lista de armazenamentos de dados com suporte como origens/coletores, consulte a tabela de Armazenamentos de dados com suporte.

Especificamente, este conector ODBC dá suporte à cópia de dados de/para quaisquer armazenamentos de dados compatíveis com ODBC usando a autenticação Básica ou Anônima. Um driver ODBC de 64 bits é necessário. Para o coletor ODBC, o serviço é compatível com o ODBC versão 2.0 padrão.

Pré-requisitos

Para usar esse conector ODBC, você precisa:

  • Configurar um Integration Runtime auto-hospedado. Consulte o artigo Self-hosted integration runtime (Integration Runtime auto-hospedado) para obter detalhes.
  • Instalar o driver ODBC de 64 bits para o armazenamento de dados no computador do Integration Runtime.

Introdução

Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:

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

Use as etapas a seguir para criar um serviço vinculado ao armazenamento de dados ODBC na interface do usuário do portal do Microsoft Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou do Synapse e selecione Serviços Vinculados, em seguida, clique em Novo:

  2. Pesquise por ODBC e selecione o conector ODBC.

    Captura de tela 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 de serviço vinculado para armazenamento de dados ODBC.

Detalhes da configuração do conector

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

Propriedades do serviço vinculado

As propriedades a seguir têm suporte para o serviço vinculado do ODBC:

Propriedade Descrição Obrigatório
type A propriedade type deve ser definida como: Odbc Sim
connectionString A cadeia de conexão, exceto a parte de credencial. Você pode especificar a cadeia de conexão com um padrão como Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; ou usar DSN (nome da fonte de dados) do sistema que você configurou no computador do Integration Runtime com o DSN=<name of the DSN on IR machine>; (é necessário ainda especificar a parte de credencial no serviço vinculado adequadamente).
Também é possível colocar uma senha no Azure Key Vault e extrair a configuração password da cadeia de conexão. Veja o artigo Credenciais de armazenamento no Azure Key Vault para saber mais detalhes.
Sim
authenticationType Tipo de autenticação usado para se conectar ao armazenamento de dados ODBC.
Os valores permitidos são: Básica e Anônima.
Sim
userName Especifique o nome de usuário se você estiver usando a autenticação Básica. Não
password Especifique a senha da conta de usuário que você especificou para userName. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. Não
credencial A parte da credencial de acesso da cadeia de conexão especificada no formato propriedade-valor específico do driver. Exemplo: "RefreshToken=<secret refresh token>;". Marque esse campo como uma SecureString. Não
connectVia O Integration Runtime a ser usado para se conectar ao armazenamento de dados. É necessário um Integration Runtime auto-hospedado, conforme mencionado nos 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 das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre conjuntos de dados. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados ODBC.

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

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

Exemplo

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

Se você estava usando o conjunto de dados com tipos RelationalTable, ele ainda tem suporte como está, mas é recomendável usar o novo de agora em diante.

Propriedades da atividade de cópia

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

ODBC como fonte

Para copiar dados do armazenamento de dados compatível com ODBC, as propriedades a seguir são compatíveis com a seção origem da atividade Copy:

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

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 você estava usando a fonte com tipos RelationalSource, ela ainda tem suporte como está, mas é recomendável usar a nova no futuro.

ODBC como coletor

Para copiar dados para um armazenamento de dados compatível com ODBC, defina o tipo de coletor na atividade de cópia como OdbcSink. As propriedades a seguir têm suporte na seção sink da atividade de cópia:

Propriedade Descrição Obrigatório
type O tipo de propriedade do coletor da atividade de cópia deve ser definido como: BlobSink Sim
writeBatchTimeout Tempo de espera para a operação de inserção em lotes ser concluída antes de atingir o tempo limite.
Os valores permitidos são: período. 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 – detectado automaticamente)
preCopyScript Especifica uma consulta SQL para a 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 previamente carregados. Não

Observação

Para “writeBatchSize”, se não estiver definida (detectada automaticamente), a atividade de cópia primeiro detecta se o driver é compatível com operações em lote e define como 10000, se houver compatibilidade, ou como 1, caso não haja. Se você definir explicitamente o valor como diferente de 0, a atividade de cópia respeitará o valor e falhará em runtime se o driver não for compatível com 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
            }
        }
    }
]

Pesquisar propriedades de atividade

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

Solucionar problemas de conectividade

Para solucionar problemas de conexão, use a guia Diagnósticos do Gerenciador de configuração do Integration Runtime.

  1. Inicie o Gerenciador de configuração do Integration Runtime.
  2. Alterne para a guia Diagnóstico .
  3. Na seção "Testar Conexão", selecione o tipo do armazenamento de dados (serviço vinculado).
  4. Especifique a cadeia de conexão usada para se conectar ao armazenamento de dados, escolha a autenticação e digite o nome de usuário, a senha e/ou as credenciais.
  5. Clique em Testar Conexão para testar a conexão com o armazenamento de dados.

Para obter uma lista de armazenamentos de dados com suporte como coletores e fontes da atividade de cópia, confira os armazenamentos de dados com suporte.