Copia de datos con almacenes de datos ODBC como origen y destino mediante Azure Data Factory o Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. ¡Obtenga más información sobre cómo iniciar una nueva evaluación gratuita!

En este artículo se resume el uso de la actividad de copia de Azure Data Factory para copiar datos con un almacén de datos ODBC como origen o destino. El documento se basa en el artículo de introducción a la actividad de copia que describe información general de la actividad de copia.

Funcionalidades admitidas

Este conector ODBC es compatible con las siguientes funcionalidades:

Funcionalidades admitidas IR
Actividad de copia (origen/receptor) 6
Actividad de búsqueda 6

① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado

Para obtener una lista de los almacenes de datos que se admiten como orígenes y receptores, consulte la tabla de almacenes de datos admitidos.

En concreto, este conector ODBC admite copiar datos con cualquier almacén de datos compatible con ODBC como origen o destino mediante la autenticación básica o anónima. Se requiere un controlador ODBC de 64 bits. En el caso del receptor ODBC, el servicio es compatible con la versión 2.0 de ODBC.

Requisitos previos

Para usar este conector ODBC, necesitará lo siguiente:

  • Configurar un entorno Integration Runtime autohospedado. Consulte el artículo sobre Integration Runtime autohospedado para más información.
  • Instale el controlador ODBC de 64 bits para el almacén de datos en la máquina de Integration Runtime.

Introducción

Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:

Creación de un servicio vinculado en un almacén de datos ODBC mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado en un almacén de datos ODBC en la interfaz de usuario de Azure Portal.

  1. Vaya a la pestaña Administrar del área de trabajo de Azure Data Factory o Synapse y seleccione Servicios vinculados; luego haga clic en Nuevo:

  2. Busque ODBC y seleccione el conector de ODBC.

    Screenshot of the ODBC connector.

  3. Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.

    Screenshot of linked service configuration for an ODBC data store.

Detalles de configuración del conector

Las secciones siguientes proporcionan detalles sobre las propiedades que se usan para definir entidades de Data Factory específicas del conector ODBC.

Propiedades del servicio vinculado

Las siguientes propiedades son compatibles con el servicio vinculado ODBC:

Propiedad Descripción Obligatorio
type La propiedad type debe establecerse en: ODBC
connectionString La cadena de conexión que excluye la parte de la credencial. Puede especificar la cadena de conexión con un patrón como Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; o utilizar el DSN (nombre de origen de datos) de sistema que se ha configurado en la máquina de Integration Runtime con DSN=<name of the DSN on IR machine>; (se necesita especificar la parte de la credencial en el servicio vinculado según corresponda).
También puede establecer una contraseña en Azure Key Vault y extraer la configuración de password de la cadena de conexión. Consulte el artículo Almacenamiento de credenciales en Azure Key Vault para obtener información detallada.
authenticationType Tipo de autenticación que se usa para conectarse al almacén de datos ODBC.
Los valores permitidos son: Basic (básica) y Anonymous (anónima).
userName Especifique el nombre de usuario si usa la autenticación básica. No
password Especifique la contraseña de la cuenta de usuario que se especificó para el nombre de usuario. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault. No
credencial La parte de la credencial de acceso de la cadena de conexión especificada en formato de valor de propiedad específico del controlador. Ejemplo: "RefreshToken=<secret refresh token>;". Marque este campo como SecureString. No
connectVia El entorno Integration Runtime que se usará para conectarse al almacén de datos. Tal y como se mencionó en los requisitos previos, se requiere un entorno Integration Runtime autohospedado.

Ejemplo 1: con autenticación 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"
        }
    }
}

Ejemplo 2: con autenticación 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"
        }
    }
}

Propiedades del conjunto de datos

Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección se proporciona una lista de las propiedades que admite el conjunto de datos de ODBC.

A la hora de copiar datos en un almacén de datos compatible con ODBC o desde este las siguientes propiedades son compatibles:

Propiedad Descripción Obligatorio
type La propiedad type del conjunto de datos debe establecerse en: OdbcTable
tableName Nombre de la tabla en el almacén de datos ODBC. No (si se especifica "query" en el origen de la actividad)
Sí para el receptor

Ejemplo

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

Si estaba usando un conjunto de datos de tipo RelationalTable, todavía se admite tal cual, aunque se aconseja usar el nuevo en el futuro.

Propiedades de la actividad de copia

Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección se proporciona una lista de las propiedades que admite el origen de ODBC.

ODBC como origen

Para copiar datos de un almacén de datos compatible con ODBC, se admiten las siguientes propiedades en la sección source de la actividad de copia:

Propiedad Descripción Obligatorio
type La propiedad type del origen de la actividad de copia debe establecerse en: OdbcSource
Query Use la consulta SQL personalizada para leer los datos. Por ejemplo: "SELECT * FROM MyTable". No (si se especifica "tableName" en el conjunto de datos)

Ejemplo:

"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>"
            }
        }
    }
]

Si estaba usando un origen de tipo RelationalSource, todavía se admite tal cual, aunque se aconseja usar el nuevo en el futuro.

ODBC como receptor

Para copiar datos a un almacén de datos compatible con ODBC, establezca el tipo de receptor de la actividad de copia en OdbcSink. Se admiten las siguientes propiedades en la sección sink de la actividad de copia:

Propiedad Descripción Obligatorio
type La propiedad type del receptor de la actividad de copia debe establecerse en: OdbcSink
writeBatchTimeout Tiempo de espera para que la operación de inserción por lotes se complete antes de que se agote el tiempo de espera.
Los valores permitidos son: intervalos de tiempo. Ejemplo: "00:30:00" (30 minutos).
No
writeBatchSize Inserta datos en la tabla SQL cuando el tamaño del búfer alcanza el valor writeBatchSize.
Los valores permitidos son: enteros (número de filas).
No (el valor predeterminado es 0, detectado automáticamente)
preCopyScript Especifique una consulta SQL para que la actividad de copia se ejecute antes de escribir datos en el almacén de datos en cada ejecución. Puede usar esta propiedad para limpiar los datos cargados previamente. No

Nota

Si "writeBatchSize" no está establecido (se ha detectado automáticamente), la actividad de copia primero detecta si el controlador admite operaciones por lotes y lo establece en 10000 si lo hace, o bien en 1 si no es así. Si establece explícitamente un valor distinto de 0, la actividad de copia respeta el valor y genera un error en tiempo de ejecución si el controlador no admite operaciones por lotes.

Ejemplo:

"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
            }
        }
    }
]

Propiedades de la actividad de búsqueda

Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.

Solución de problemas de conectividad

Para solucionar problemas de conexión, use la pestaña Diagnósticos de Integration Runtime Configuration Manager.

  1. Inicie Integration Runtime Configuration Manager.
  2. Cambie a la pestaña Diagnósticos .
  3. En la sección "Prueba de conexión", seleccione el tipo de almacén de datos (servicio vinculado).
  4. Especifique la cadena de conexión que se usa para conectarse al almacén de datos, elija la autenticación y escriba el nombre de usuario, la contraseña o las credenciales.
  5. Haga clic en Probar conexión para probar la conexión con el almacén de datos.

Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.