Gestione dati CSV in SQL Server

lunedì 29 ottobre 2012 - 17.03
Tag Elenco Tags  SQL Server 2005

adriano.fornoni Profilo | Newbie

Buongiorno a tutti,
io ho una tabella di questo tipo:

TABELLA COL1 COL2
TEST1 1 1|12|ADRIANO|FORSE
TEST1 2 2|10|MARCO|PER BENE
TEST1 10 3|20|ELE|ANCHE

La struttura è:
CAMPO TABELLA: viene indicata la tabella dove dovranno essere copiati i dati
CAMPO COL1: dati da inserire in una colonna della tabella TEST1
CAMPO COL2: dati in formato CSV con separatore | da inserire nelle colonne della tabella TEST1

Realmente la tabella TEST1 dovrebbe risultare come di seguito riportato:
ID CONTENUTO OPERATORE COMMENTO ESITO
1 12 ADRIANO FORSE 1
2 10 MARCO PER BENE 2
3 20 ELE ANCHE 10

come devo scrivere il tracciato SQL per ottenere quello che mi attendo?

Grazie a tutti della disponibilità
Adriano

HolidaySoft.it Profilo | Junior Member

Ciao,
ipotizzando la tabella TB_SOURCE caricata su db access:

ID TABELLA COL1 COL2
1 TEST1 1 1|12|ADRIANO|FORSE
2 TEST1 2 2|10|MARCO|PER BENE
3 TEST1 10 3|20|ELE|ANCHE

crei una funzione vba
Public Function ParseText(TextIn As String, X) As Variant On Error Resume Next Dim var As Variant var = Split(TextIn, "|", -1) ParseText = var(X) End Function

e crei una query access con questo sql:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

il risultato è questo:
Expr1000
INSERT INTO TEST1(ID,CONTENUTO,OPERATORE,COMMENTO,ESITO) VALUES (1,12,'ADRIANO FORSE',1);
INSERT INTO TEST1(ID,CONTENUTO,OPERATORE,COMMENTO,ESITO) VALUES (2,10,'MARCO PER BENE',2);
INSERT INTO TEST1(ID,CONTENUTO,OPERATORE,COMMENTO,ESITO) VALUES (3,20,'ELE ANCHE',10);
.................

Ciao
A quick solution is a shortcut to troubleshooting
[url=http://www.HolidaySoft.it/]http://www.HolidaySoft.it/[/url]
[url=http://www.GarganoSapori.it/]http://www.GarganoSapori.it/[/url]

adriano.fornoni Profilo | Newbie

Ciao,
in verità la base dati che vado a trattare è su SQL Server, comunque provo le impostazioni suggerite adattando le istruzioni da Access a SQL Server.

Ciao e grazie per l'attenzione
Adriano

adriano.fornoni Profilo | Newbie

Ciao,
ti ringrazio per la risposta fornita, non è rivolta in particolare al mio dbms (SQL Server) ma ho comunque avuto l'indicazione che avrei dovuto eseguire un parse del testo a mia disposizione.

Ho risolto costruendo una stored procedure con test relativi al tipo di dati come:
- numero di campi
- tipo di dati del campo
- lunghezza del campo
- esistenza della tabella richiesta.

Buon lavoro a tutti
Grazie
Ciao Adriano
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5