Condividi tramite


Procedura guidata per l'importazione di file flat in SQL

Si applica a:SQL ServerDatabase SQL di AzureIstanza 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.

L'Import Flat File Wizard è un modo semplice per copiare dati da un file di testo (ad esempio, .csv o .txt) in una nuova tabella nel tuo database. L'Importazione guidata file flat supporta più delimitatori, tra cui virgole, schede, punti e virgola e pipe e supporta anche dati a larghezza fissa. In questa panoramica vengono descritti i motivi per utilizzare questa procedura guidata, come trovarla e un semplice esempio da seguire.

Perché si dovrebbe 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. Connettiti a un'istanza del motore di database 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 piatto.

Per ulteriori informazioni sulle diverse funzioni della procedura guidata, consultare il seguente tutorial:

Esercitazione

Ai fini di questa esercitazione, è possibile usare il proprio file flat. Questo tutorial utilizza il seguente file CSV da Excel, che sei libero di copiare. Se si usa questo CSV, assegnargli il nome esempio.csv e salvarlo in un percorso semplice, come ad esempio il desktop.

Schermata di Excel.

Panoramica:

  1. Procedura guidata di Access
  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 alla procedura guidata di importazione dei file flat.

Passaggio 2: Specificare il file di input

Seleziona Sfoglia per scegliere 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 della tabella deve essere univoco e la procedura guidata non consente di proseguire altrimenti.

Screenshot dell'Importazione guidata di file flat, specifica il menu del 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 Anteprima dati Importa file piatto.

Passaggio 4: Modifica 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 di Modifica colonne dell'Importazione guidata di 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. Altrimenti, selezionando Fine si tenta di avviare 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 Risultati della procedura guidata di importazione dei file flat.

Risoluzione dei problemi

La procedura guidata di importazione di 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 delle dimensioni dei tipi di dati nel passaggio Modifica colonne, ad esempio la lunghezza di una colonna nvarchar, compensi le variazioni nei dati del resto del file piatto.
  • L'attivazione della segnalazione degli errori nella fase Modifica colonne, soprattutto impostando un valore più basso, rivelerà quali righe nel file flat 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. Esaminando direttamente il file nella sua posizione, è possibile apportare modifiche più mirate ai tipi di dati basate sui dati nelle righe identificate.

Screenshot di un errore nei risultati della Creazione guidata di importazione di 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'importatore usa la codifica basata sulla pagina di codice attiva del sistema. Nella maggior parte delle macchine, l'impostazione predefinita è ANSI.

Scopri di più sull'assistente.