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

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este artigo descreve como utilizar a Atividade de Cópia na Fábrica de Dados Azure para copiar dados de e para uma loja de dados ODBC. Baseia-se no artigo de visão geral da atividade de cópia que apresenta uma visão geral da atividade da cópia.

Capacidades suportadas

Este conector ODBC é suportado para as seguintes atividades:

Pode copiar dados da fonte ODBC para qualquer loja de dados de lavatórios suportados ou copiar de qualquer loja de dados de origem suportada para o lavatório ODBC. Para obter uma lista de lojas de dados suportadas como fontes/pias pela atividade de cópia, consulte a tabela de lojas de dados suportadas.

Especificamente, este conector ODBC suporta a cópia de/para quaisquer lojas de dados compatíveis com ODBC usando a autenticação Básica ou Anónima. É necessário um condutor ODBC de 64 bits. Para a pia ODBC, o serviço suporta a versão 2.0 do suporte de serviço.

Pré-requisitos

Para utilizar este conector ODBC, tem de:

  • Crie um tempo de integração auto-hospedado. Consulte o artigo de execução de integração auto-hospedado para obter detalhes.
  • Instale o controlador ODBC de 64 bits para a loja de dados na máquina de tempo de execução de integração.

Introdução

Para realizar a atividade Copy com um pipeline, pode utilizar uma das seguintes ferramentas ou SDKs:

Criar um serviço ligado a uma loja de dados ODBC utilizando uI

Utilize os seguintes passos para criar um serviço ligado a uma loja de dados ODBC no portal Azure UI.

  1. Navegue no separador Gerir na sua Fábrica de Dados Azure ou no espaço de trabalho synapse e selecione Serviços Ligados e, em seguida, clique em Novo:

  2. Procure por ODBC e selecione o conector ODBC.

    Screenshot do conector ODBC.

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

    Screenshot da configuração de serviço ligada para uma loja de dados ODBC.

Detalhes da configuração do conector

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

Propriedades de serviço ligadas

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

Propriedade Descrição Obrigatório
tipo A propriedade tipo deve ser definida para: Odbc Yes
conexãoStragem A cadeia de ligação excluindo a parte credencial. Pode especificar a cadeia de ligação com padrão como Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; , ou utilizar o sistema DSN (Data Source Name) que configura na máquina de tempo de execução de integração DSN=<name of the DSN on IR machine>; (ainda precisa especificar a parte credencial no serviço ligado em conformidade).
Também pode colocar uma palavra-passe no Cofre da Chave Azure e retirar a password configuração da cadeia de ligação. Consulte as credenciais da Loja no Cofre de Chaves Azure com mais detalhes.
Yes
authenticationType Tipo de autenticação utilizada para ligar à loja de dados ODBC.
Os valores permitidos são: Básico e Anónimo.
Yes
userName Especifique o nome do utilizador se estiver a utilizar a autenticação Básica. No
palavra-passe Especifique a palavra-passe para a conta de utilizador especificada para o nome de utilizador. Marque este campo como um SecureString para armazená-lo de forma segura, ou fazer referência a um segredo armazenado no Cofre da Chave Azure. No
credencial A parte credencial de acesso da cadeia de ligação especificada no formato de valor da propriedade específica do condutor. Exemplo: "RefreshToken=<secret refresh token>;". Marque este campo como um SecureString. No
connectVia O tempo de execução de integração a ser utilizado para ligar à loja de dados. É necessário um tempo de integração auto-organizado, tal como mencionado nos Pré-Requisitos. Yes

Exemplo 1: utilização da 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: utilização da 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"
        }
    }
}

Dataset properties (Propriedades do conjunto de dados)

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

Para copiar dados de/para loja de dados compatíveis com ODBC, suportam-se as seguintes propriedades:

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

Exemplo

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

Se estiver a utilizar RelationalTable conjunto de dados dactilografado, ainda é suportado como está, enquanto é sugerido que utilize o novo para a frente.

Propriedades da atividade Copy

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

ODBC como fonte

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

Propriedade Descrição Obrigatório
tipo A propriedade tipo da fonte de atividade de cópia deve ser definida para: OdbcSource Yes
consulta Utilize a consulta de SQL personalizada para ler dados. Por exemplo: "SELECT * FROM MyTable". Não (se for especificado "tableName" 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 estava a usar RelationalSource uma fonte dactilografada, ainda é suportada como está, enquanto é sugerido que utilize a nova que vai para a frente.

ODBC como pia

Para copiar dados para a loja de dados compatível com ODBC, desaperte o tipo de pia na atividade da cópia para o OdbcSink. As seguintes propriedades são suportadas na secção de lavatório de atividade de cópia:

Propriedade Descrição Obrigatório
tipo A propriedade tipo do lavatório de atividade de cópia deve ser definida para: OdbcSink Yes
escreverBatchTimeout Tempo de espera para que o funcionamento do encaixe do lote esteja concluído antes de esgotar o tempo.
Os valores permitidos são: timepan. Exemplo: "00:30:00" (30 minutos).
No
escreverBatchSize Insere dados na tabela SQL quando o tamanho do tampão atinge o writeBatchSize.
Os valores permitidos são: inteiro (número de linhas).
Não (o padrão é 0 - auto detetado)
preCopyScript Especifique uma consulta de SQL para a Copy Activity executar antes de escrever dados em loja de dados em cada execução. Pode utilizar esta propriedade para limpar os dados pré-carregados. No

Nota

Para "writeBatchSize", se não estiver definido (detetado automaticamente), a atividade de cópia deteta primeiro se o condutor suporta as operações do lote, e define-o para 10000 se o fizer, ou o definir para 1 se não o fizer. Se definir explicitamente o valor que não seja 0, a atividade de cópia honra o valor e falha no tempo de execução se o condutor não suportar as operações do 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 de atividade de procura

Para obter detalhes sobre as propriedades, consulte a atividade de Lookup.

Resolver problemas de conectividade

Para resolver problemas de conexão, utilize o separador de Diagnóstico do Gestor de Configuração de Tempo de Execução de Integração.

  1. Gestor de configuração de tempo de execução de integração de lançamento.
  2. Mude para o separador Diagnósticos.
  3. Na secção "Ligação de Teste", selecione o tipo de loja de dados (serviço ligado).
  4. Especifique a cadeia de ligação que é utilizada para ligar à loja de dados, escolha a autenticação e introduza o nome de utilizador, palavra-passe e/ou credenciais.
  5. Clique na ligação de teste para testar a ligação à loja de dados.

Passos seguintes

Para obter uma lista de lojas de dados suportadas como fontes e sumidouros pela atividade de cópia, consulte as lojas de dados suportadas.