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:
- Aprire SQL Server Management Studio.
- Connettersi a un'istanza del motore di database di SQL Server o a localhost.
- 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.
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.
Panoramica:
- Accedere alla procedura guidata
- Specificare il file di input
- Anteprima dei dati
- Modificare le colonne
- Riepilogo
- 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.
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.
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.
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.
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.
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.
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.
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.
Contenuto correlato
Altre informazioni sulla procedura guidata.
- Altre informazioni sull'importazione di altre origini. Se si sta cercando di importare più file flat, vedere Importare ed esportare dati con Importazione/Esportazione guidata SQL Server.
- Altre informazioni su come connettersi alle origini dei file flat. Se sono necessarie altre informazioni sulla connessione alle origini dei file flat, vedere Connettersi a un'origine dati di file flat (procedura guidata di importazione ed esportazione di SQL Server).
- Altre informazioni su PROSE. Se si sta cercando una panoramica del framework intelligente usato da questa procedura guidata, vedere la pagina relativa all'SDK PROSE.