Leggere un file di testo delimitato e salvarlo su tabella access

mercoledì 27 settembre 2006 - 16.27

C#Guru Profilo | Newbie

Ciao a tutti,
devo leggere un file di testo delimitato dal punto e virgola e salvare il contenuto dentro una tabella di access.
Come fare?
Grazie a tutti.

lbenaglia Profilo | Guru

>devo leggere un file di testo delimitato dal punto e virgola
>e salvare il contenuto dentro una tabella di access.
>Come fare?

Ciao C#Guru,

Access mette a disposizione un comodissimo Wizard per eseguire questi compiti, richiamabile dal menu File, Open specificando il file da linkare. Una volta generato il link, se la tabella di destinazione è già presente puoi copiare il contenuto del file con una banale INSERT INTO... SELECT... FROM <tabella linkata> altrimenti se vuoi generare una tabella ex novo puoi eseguire il comando SELECT...INTO <nuova tabella> FROM <tabella linkata>.

>Grazie a tutti.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

C#Guru Profilo | Newbie

Ciao, forse ho dimenticato un pezzo........
Dovrei farlo con c# (WindowsApplication)

lbenaglia Profilo | Guru

>Ciao, forse ho dimenticato un pezzo........
>Dovrei farlo con c# (WindowsApplication)
>

Ah beh, toglierei il "forse"
Per aprire un file di testo delimitato puoi utilizzare l'OLE DB Provider di JET.
Questo articolo della KB anche se utilizza ADO "classico", ti fa vedere quale connection string devi utilizzare per aprire una connessione al file e per popolare una tabella Access:
http://support.microsoft.com/kb/q262537/

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Cteniza Profilo | Guru

Magari il mio appunto sull'argomento ti può aiutare.
Apertura di un file di testo e creazione di un DataSet con ADO.NET
http://community.visual-basic.it/lucianob/archive/2005/02/19/5824.aspx

C#Guru Profilo | Newbie

Grazie a tutti,
provo subito.
Ciao.

C#Guru Profilo | Newbie

CIao ragazzi,
sono riuscito, grazie dei consigli.
Adesso ho un altro problema...... siccome questo file può contenere record nuovi o modificati, come faccio a salvare solo i record nuovi e modificati?

Grazie Ciao.

Cteniza Profilo | Guru

Ti consiglio di fare un ciclo sulle righe caricate testando per ciascuna l'eventuale esistenza.
Hai bisogno di due OleDbCommand uno per l'insert ed uno per l'update

lbenaglia Profilo | Guru

>Adesso ho un altro problema...... siccome questo file può contenere
>record nuovi o modificati, come faccio a salvare solo i record
>nuovi e modificati?

Io caricherei i dati in una tabella temporanea e successivamente mi servirei di una OUTER JOIN per identificare le righe nuove da inserire mediante INSERT, e di una INNER JOIN con appropriata clausola di WHERE in un comando di UPDATE per individuare quelle che richiedono un aggiornamento.

>Grazie Ciao.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5