Procedura guidata per l'importazione di file flat in SQL

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

Per i contenuti correlati all'importazione ed esportazione guidata, vedere Importare ed esportare dati con Importazione/Esportazione guidata SQL Server.

La procedura guidata per l'importazione di file flat consente di copiare facilmente i dati da un file flat (con estensione csv, txt) a una nuova tabella nel database. L'Importazione guidata file flat supporta sia formati di file con valori delimitati da virgole che con larghezza fissa. In questa panoramica vengono descritti i motivi per l'uso di questa procedura guidata, come trovarla e un semplice esempio da seguire.

Perché usare questa procedura guidata?

Questa procedura guidata è stata creata per migliorare l'esperienza di importazione corrente sfruttando un framework intelligente noto come Program Synthesis using Examples (PROSE). Per un utente senza una conoscenza specializzata dei domini, l'importazione dei dati può risultare un'attività complessa, soggetta a errori e impegnativa. Questa procedura guidata semplifica il processo di importazione: è sufficiente selezionare un file di input e un nome di tabella univoco e il framework PROSE gestisce il resto.

PROSE analizza i modelli di dati nel file di input per dedurre nomi di colonne, tipi, delimitatori e altro ancora. Questo framework apprende la struttura del file ed esegue l'intero lavoro al posto degli utenti.

Prerequisiti

Questa funzionalità è disponibile in SQL Server Management Studio (SSMS) v17.3 o successiva. Verificare che sia in uso la versione più recente. La versione più recente è disponibile qui.

Introduzione

Per accedere alla procedura guidata per l'importazione di file flat, procedere come segue:

  1. Aprire SQL Server Management Studio.
  2. Connettersi a un'istanza del motore di database di SQL Server o a localhost.
  3. Espandere Database, fare clic con il pulsante destro del mouse su un database (vedere l'esempio seguente), scegliere Attività e selezionare Importa file flat sopra a Importa dati.

Screenshot del menu Importa file flat.

Per altre informazioni sulle diverse funzioni della procedura guidata, vedere l'esercitazione seguente:

Esercitazione

Ai fini di questa esercitazione, è possibile usare il proprio file flat. In caso contrario, servirsi del file CSV seguente da Excel, che può essere copiato liberamente. Se si usa questo CSV, denominarlo esempio.csv e salvarlo con l'estensione csv in un percorso semplice come ad esempio il desktop.

Screenshot di Excel.

Panoramica:

  1. Accedere alla procedura guidata
  2. Specificare il file di input
  3. Anteprima dei dati
  4. Modificare le colonne
  5. Riepilogo
  6. Risultati

Passaggio 1: Accedere alla procedura guidata e alla pagina introduttiva

Accedere alla procedura guidata come descritto qui.

La prima pagina della procedura guidata è la pagina di benvenuto. Se non si vuole più visualizzare questa pagina, è possibile selezionare Non visualizzare più questa pagina iniziale.

Screenshot del menu Introduzione all'Importazione guidata file flat.

Passaggio 2: Specificare il file di input

Selezionare Sfoglia per selezionare il file di input. Per impostazione predefinita, la procedura guidata cerca i file con estensione csv e txt. PROSE rileva se il formato del file è con valori delimitati da virgole o con larghezza fissa, indipendentemente dall'estensione.

Il nuovo nome di tabella deve essere univoco. In caso contrario, la procedura guidata non consente di proseguire.

Screenshot dell'Importazione guidata file flat Consente di specificare il menu File di input.

Passaggio 3: Anteprima dati

La procedura guidata genera un'anteprima che consente di visualizzare le prime 50 righe. Se sono presenti problemi selezionare Annulla, in caso contrario passare alla pagina successiva.

Screenshot del menu Importa dati anteprima file flat.

Passaggio 4: Modificare le colonne

La procedura guidata identifica quelli che ritiene siano i nomi di colonna corretti, i tipi di dati e così via. Qui è possibile modificare i campi se non sono corretti (ad esempio, il tipo di dati deve essere float anziché int).

Le colonne in cui vengono rilevati valori vuoti avranno l'opzione "Consenti valori Null" selezionata. Tuttavia, se si prevedono valori Null in una colonna e l'opzione "Consenti valori Null" non è selezionata, è possibile aggiornare la definizione di tabella per consentire i valori Null in una o in tutte le colonne.

Quando si è pronti, proseguire.

Screenshot del menu Modifica colonne dell'Importazione guidata file flat.

Passaggio 5: Riepilogo

Si tratta semplicemente di una pagina di riepilogo che visualizza la configurazione corrente. Se sono presenti problemi, è possibile tornare alle sezioni precedenti. In caso contrario, selezionare Fine per tentare il processo di importazione.

Screenshot del menu Riepilogo importazione guidata file flat.

Passaggio 6: Risultati

Questa pagina indica se l'importazione è riuscita. Se viene visualizzato un segno di spunta verde, l'importazione ha avuto esito positivo, in caso contrario potrebbe essere necessario rivedere la configurazione o il file di input per individuare eventuali errori.

Screenshot del menu Importa risultati procedura guidata file flat.

Risoluzione dei problemi

Importazione guidata file flat rileva i tipi di dati in base alle prime 200 righe. Negli scenari in cui i dati disponibili più avanti nel file flat non sono conformi ai tipi di dati rilevati, si verifica un errore durante l'importazione. Il messaggio di errore sarà analogo al seguente:

Error inserting data into table. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. (System.Data)
String or binary data would be truncated. (System.Data)

Tattiche per risolvere questo errore:

  • È possibile che l'espansione di dimensioni di tipi di dati nel passaggio Modifica colonne, ad esempio la lunghezza di una colonna nvarchar, compensi per le variazioni nei dati della parte rimanente del file flat.
  • L'abilitazione della segnalazione degli errori nel passaggio Modifica colonne, in particolare per un numero più basso, consentirà di rivelare alle righe nel file flat che contengono dati che non corrispondono ai tipi di dati selezionati. In un file flat in cui la seconda riga introduce un errore, ad esempio, l'esecuzione dell'importazione con la segnalazione degli errori con un intervallo pari a 1 fornisce un messaggio di errore specifico. Se si esamina il file direttamente nel percorso è possibile ottenere altre modifiche mirate per i tipi di dati in base ai dati nelle righe identificate.

Screenshot di un errore nei risultati della Creazione guidata file flat.

Error inserting data into table occurred while inserting rows 1 - 2. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type float of the specified target column. (System.Data)
Failed to convert parameter value from a String to a Double. (System.Data)

Attualmente, l'utilità di importazione usa la codifica in base alla tabella codici attiva del sistema. Nella maggior parte dei computer questa è l’impostazione predefinita ANSI.

Altre informazioni sulla procedura guidata.