Copiare i dati da e verso archivi dati ODBC con Azure Data FactoryCopy data from and to ODBC data stores using Azure Data Factory

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da e verso un archivio dati di ODBC.This article outlines how to use the Copy Activity in Azure Data Factory to copy data from and to an ODBC data store. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.It builds on the copy activity overview article that presents a general overview of copy activity.

Funzionalità supportateSupported capabilities

Questo connettore ODBC è supportato per le attività seguenti:This ODBC connector is supported for the following activities:

È possibile copiare i dati da un'origine ODBC in qualsiasi archivio dati sink supportato o da qualsiasi archivio dati di origine supportato in un sink di ODBC.You can copy data from ODBC source to any supported sink data store, or copy from any supported source data store to ODBC sink. Per un elenco degli archivi dati supportati come origini/sink dall'attività di copia, vedere la tabella relativa agli archivi dati supportati.For a list of data stores that are supported as sources/sinks by the copy activity, see the Supported data stores table.

In particolare, il connettore ODBC supporta la copia dei dati da o verso qualsiasi archivio dati compatibile con ODBC tramite l'autenticazione di base o anonima.Specifically, this ODBC connector supports copying data from/to any ODBC-compatible data stores using Basic or Anonymous authentication.

PrerequisitiPrerequisites

Per usare il connettore ODBC è necessario:To use this ODBC connector, you need to:

  • Configurare un runtime di integrazione self-hosted.Set up a Self-hosted Integration Runtime. Per i dettagli, vedere l'articolo Runtime di integrazione self-hosted.See Self-hosted Integration Runtime article for details.
  • Installare il driver ODBC per l'archivio dati nel computer del runtime di integrazione.Install the ODBC driver for the data store on the Integration Runtime machine.

IntroduzioneGetting started

È possibile usare l'attività di copia con una pipeline tramite uno degli strumenti o degli SDK seguenti.You can use one of the following tools or SDKs to use the copy activity with a pipeline. Per istruzioni dettagliate, selezionare un collegamento:Select a link for step-by-step instructions:

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di data factory specifiche per il connettore ODBC.The following sections provide details about properties that are used to define Data Factory entities specific to ODBC connector.

Proprietà del servizio collegatoLinked service properties

Per il servizio collegato ODBC sono supportate le proprietà seguenti:The following properties are supported for ODBC linked service:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type deve essere impostata su: OdbcThe type property must be set to: Odbc Yes
connectionStringconnectionString Stringa di connessione ad esclusione della parte relativa alle credenziali.The connection string excluding the credential portion. È possibile specificare la stringa di connessione con un modello come "Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase;", o usare il sistema DSN, ovvero il nome dell'origine dati, configurato nel computer Integration Runtime con "DSN=<name of the DSN on IR machine>;". È necessario comunque specificare la parte delle credenziali nel servizio collegato in base alle esigenze.You can specify the connection string with pattern like "Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase;", or use the system DSN (Data Source Name) you set up on the Integration Runtime machine with "DSN=<name of the DSN on IR machine>;" (you need still specify the credential portion in linked service accordingly).
Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro in Azure Data Factory oppure fare riferimento a un segreto archiviato in Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault.
Yes
authenticationTypeauthenticationType Tipo di autenticazione usato per connettersi all'archivio dati ODBC.Type of authentication used to connect to the ODBC data store.
I valori consentiti sono i seguenti: Basic e Anonymous.Allowed values are: Basic and Anonymous.
Yes
userNameuserName Specificare il nome utente se si usa l'autenticazione di base.Specify user name if you are using Basic authentication. N.No
passwordpassword Specificare la password per l'account utente specificato per userName.Specify password for the user account you specified for the userName. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro in Azure Data Factory oppure fare riferimento a un segreto archiviato in Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. NoNo
credentialcredential La parte delle credenziali di accesso della stringa di connessione specificata nel formato di valore della proprietà specifico del driver.The access credential portion of the connection string specified in driver-specific property-value format. Esempio: "RefreshToken=<secret refresh token>;".Example: "RefreshToken=<secret refresh token>;". Contrassegnare questo campo come SecureString.Mark this field as a SecureString. NoNo
connectViaconnectVia Il runtime di integrazione da usare per la connessione all'archivio dati.The Integration Runtime to be used to connect to the data store. È necessario un runtime di integrazione self-hosted come indicato in Prerequisiti.A Self-hosted Integration Runtime is required as mentioned in Prerequisites. Yes

Esempio 1: uso dell'autenticazione di baseExample 1: using Basic authentication

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

Esempio 2: uso dell'autenticazione anonimaExample 2: using Anonymous authentication

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

Proprietà del set di datiDataset properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati.For a full list of sections and properties available for defining datasets, see the datasets article. Questa sezione presenta un elenco delle proprietà supportate dal set di dati ODBC.This section provides a list of properties supported by ODBC dataset.

Per copiare dati da/in un archivio dati compatibile con ODBC, sono supportate le proprietà seguenti:To copy data from/to ODBC-compatible data store, the following properties are supported:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type del set di dati deve essere impostata su: OdbcTableThe type property of the dataset must be set to: OdbcTable Yes
tableNametableName Nome della tabella nell'archivio dati ODBC.Name of the table in the ODBC data store. No per l'origine (se nell'origine dell'attività è specificato "query");No for source (if "query" in activity source is specified);
sì per il sinkYes for sink

EsempioExample

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

Se si usa RelationalTable un set di dati tipizzato, è ancora supportato così com'è, mentre si consiglia di usare quello nuovo in futuro.If you were using RelationalTable typed dataset, it is still supported as-is, while you are suggested to use the new one going forward.

Proprietà dell'attività di copiaCopy activity properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline.For a full list of sections and properties available for defining activities, see the Pipelines article. Questa sezione presenta un elenco delle proprietà supportate dall'origine di ODBC.This section provides a list of properties supported by ODBC source.

ODBC come origineODBC as source

Per copiare dati da un archivio dati compatibile con ODBC, nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:To copy data from ODBC-compatible data store, the following properties are supported in the copy activity source section:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type dell'origine di attività di copia deve essere impostata su: OdbcSourceThe type property of the copy activity source must be set to: OdbcSource Yes
queryquery Usare la query SQL personalizzata per leggere i dati.Use the custom SQL query to read data. Ad esempio: "SELECT * FROM MyTable".For example: "SELECT * FROM MyTable". No (se nel set di dati è specificato "tableName")No (if "tableName" in dataset is specified)

Esempio:Example:

"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 si usa RelationalSource l'origine tipizzata, questo è ancora supportato così com'è, mentre si consiglia di usare quello nuovo in futuro.If you were using RelationalSource typed source, it is still supported as-is, while you are suggested to use the new one going forward.

ODBC come sinkODBC as sink

Per copiare i dati nell'archivio dati compatibile con ODBC, impostare il tipo di sink nell'attività di copia su OdbcSink.To copy data to ODBC-compatible data store, set the sink type in the copy activity to OdbcSink. Nella sezione sink dell'attività di copia sono supportate le proprietà seguenti:The following properties are supported in the copy activity sink section:

ProprietàProperty DescrizioneDescription ObbligatoriaRequired
typetype La proprietà type del sink dell'attività di copia deve essere impostata su: OdbcSinkThe type property of the copy activity sink must be set to: OdbcSink Yes
writeBatchTimeoutwriteBatchTimeout Tempo di attesa per l'operazione di inserimento batch da completare prima del timeout.Wait time for the batch insert operation to complete before it times out.
I valori consentiti sono: intervallo di tempo.Allowed values are: timespan. Esempio: "00:30:00" (30 minuti).Example: “00:30:00” (30 minutes).
N.No
writeBatchSizewriteBatchSize Inserisce dati nella tabella SQL quando la dimensione del buffer raggiunge writeBatchSize.Inserts data into the SQL table when the buffer size reaches writeBatchSize.
I valori consentiti sono integer, ovvero il numero di righe.Allowed values are: integer (number of rows).
No (l'impostazione predefinita è 0 - rilevamento automatico)No (default is 0 - auto detected)
preCopyScriptpreCopyScript Specificare una query SQL per l'attività di copia da eseguire prima di scrivere i dati nell'archivio dati in ogni esecuzione.Specify a SQL query for Copy Activity to execute before writing data into data store in each run. È possibile usare questa proprietà per pulire i dati precaricati.You can use this property to clean up the pre-loaded data. NoNo

Nota

Per "writeBatchSize", se non impostato tramite il rilevamento automatico, l'attività di copia rileva prima se il driver supporta le operazioni batch e in caso affermativo lo imposta su 10.000, in caso contrario lo imposta su 1.For "writeBatchSize", if it's not set (auto-detected), copy activity first detects whether the driver supports batch operations, and set it to 10000 if it does, or set it to 1 if it doesn’t. Se si imposta in modo esplicito un valore diverso da 0, l'attività di copia rispetta il valore, ma non riesce a eseguire il runtime se il driver non supporta le operazioni batch.If you explicitly set the value other than 0, copy activity honors the value and fails at runtime if the driver doesn’t support batch operations.

Esempio:Example:

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

Sink SAP HANASAP HANA sink

Nota

Per copiare i dati dall'archivio dati di SAP HANA, fare riferimento al connettore SAP HANA nativo.To copy data from SAP HANA data store, refer to native SAP HANA connector. Per copiare dati in SAP HANA, seguire questa istruzione per usare il connettore ODBC.To copy data to SAP HANA, please follow this instruction to use ODBC connector. Si noti che i servizi collegati per i connettori SAP HANA e ODBC sono associati a tipi diversi e pertanto non possono essere riusati.Note the linked services for SAP HANA connector and ODBC connector are with different type thus cannot be reused.

È possibile copiare i dati dal database SAP HANA usando il connettore ODBC generico.You can copy data to SAP HANA database using the generic ODBC connector.

Configurare un runtime di integrazione self-hosted in un computer con accesso all'archivio dati.Set up a Self-hosted Integration Runtime on a machine with access to your data store. Il runtime di integrazione usa il driver ODBC per SAP HANA per eseguire la connessione all'archivio dati.The Integration Runtime uses the ODBC driver for SAP HANA to connect to the data store. Installare quindi il driver se non è già installato nel computer.Therefore, install the driver if it is not already installed on the same machine. Per altre informazioni, vedere la sezione Prerequisiti.See Prerequisites section for details.

Prima di usare il sink SAP HANA in una soluzione Data Factory, verificare che Integration Runtime sia in grado di connettersi all'archivio dati usando le istruzioni nella sezione Risoluzione dei problemi di connettività.Before you use the SAP HANA sink in a Data Factory solution, verify whether the Integration Runtime can connect to the data store using instructions in Troubleshoot connectivity issues section.

Creare un servizio collegato ODBC per collegare un archivio dati SAP HANA a una data factory di Azure come illustrato nell'esempio seguente:Create an ODBC linked service to link a SAP HANA data store to an Azure data factory as shown in the following example:

{
    "name": "SAPHANAViaODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": {
                "type": "SecureString",
                "value": "Driver={HDBODBC};servernode=<HANA server>.clouddatahub-int.net:30015"
            },
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Leggere l'articolo dall'inizio per avere una panoramica dettagliata dell'uso degli archivi dati ODBC come archivi dati di origine o sink in un'operazione di copia.Read the article from the beginning for a detailed overview of using ODBC data stores as source/sink data stores in a copy operation.

Proprietà attività di ricercaLookup activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività di ricerca.To learn details about the properties, check Lookup activity.

Risoluzione dei problemi di connettivitàTroubleshoot connectivity issues

Per risolvere i problemi di connessione, usare la scheda Diagnostica di Gestione configurazione di Runtime di integrazione.To troubleshoot connection issues, use the Diagnostics tab of Integration Runtime Configuration Manager.

  1. Avviare Gestione configurazione di Runtime di integrazione.Launch Integration Runtime Configuration Manager.
  2. Passare alla scheda Diagnostica .Switch to the Diagnostics tab.
  3. Nella sezione "Connessione di test" selezionare il tipo di archivio dati, ovvero il servizio collegato.Under the "Test Connection" section, select the type of data store (linked service).
  4. Specificare la stringa di connessione usata per la connessione all'archivio dati, scegliere l'autenticazione e immettere il nome utente, la password e/o le credenziali.Specify the connection string that is used to connect to the data store, choose the authentication and enter user name, password, and/or credentials.
  5. Fare clic su Test connessione per testare la connessione all'archivio dati.Click Test connection to test the connection to the data store.

Passaggi successiviNext steps

Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia in Azure Data Factory, vedere gli archivi dati supportati.For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.