SSMS
 sql >> Database >  >> Database Tools >> SSMS

Come aprire un file rpt come tabella SQL?

Sebbene questa risposta sia in ritardo, non ho visto una risposta canonica al problema dell'apertura del formato di file .rpt e della sua scrittura su una tabella SQL.

  1. In SQL Server Management Studio in Esplora oggetti, fai clic con il pulsante destro del mouse sul database in cui desideri caricare il file e scegli Attività... Importa dati.

  2. Scegli Flat File Source, seleziona il tuo file, quindi assicurati che lo schermo sia impostato in modo che corrisponda allo screenshot seguente (Pagina codici =65001 UTF-8, Formato =Ragged a destra, Nomi delle colonne nella prima riga di dati). Quindi fare clic su Avanti.

  1. Fai clic sul primo carattere di ogni colonna (vedi i punti salienti gialli nello screenshot qui sotto per dove fare clic) per inserire le colonne nei punti appropriati:

  1. Fai clic sulla scheda Avanzate a sinistra. Scorri il nome di ogni colonna e rimuovi gli spazi dalla fine del nome della colonna. Correggi i tipi di dati come meglio credi. Avvertenza, le prime colonne potrebbero dover essere stringhe a causa del piè di pagina del file "(Righe NNN interessate)".

  1. Vai alla scheda Anteprima a sinistra, cambia le "Righe di dati da ignorare" su 1 e fai clic su Aggiorna:

  1. Fai clic sul pulsante Avanti e imposta la connessione al tuo database SQL:

  1. Fai clic su Avanti e digita il nome della tua tabella nel formato [dbo].[MyTable] quindi fare clic su Modifica mappature e confermare che i tipi di dati della colonna corrispondono. Le colonne String (DT_STR) dovrebbero essere colonne varchar qui. La stringa Unicode (DT_WSTR) dovrebbe essere colonne nvarchar qui.

  2. Fare clic su Avanti e Fine per eseguire immediatamente. Dovresti vedere i messaggi di successo, non gli errori, si spera:

  1. C'è un piè di pagina che dice "(NNN righe interessate)" (dove NNN è il conteggio delle righe del tuo file). Interroga la tabella SQL di destinazione per trovare quella riga ed eliminarla. select * from MyTable where MyColumn1 like '%(%' può aiutarti a trovare quella riga. Conferma che la query restituisce solo una riga prima di eliminarla.