Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
.NET Framework
File ASCII -> DataTable
mercoledì 01 dicembre 2004 - 09.01
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
secks
Profilo
| Senior Member
442
messaggi | Data Invio:
mer 1 dic 2004 - 09:01
Ho la necessità di trasferire un file ASCII di grosse dimensioni ( 5 MegaByte ) in una tabella in memoria ( DataTable ) oppure in una tabella SQL 2000.
Come posso fare?
Ciao e tutti e grazie.
Paolo.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 1 dic 2004 - 09:44
Ci sono varie opportunità.
Non ti consiglio di trasferirla in una DataTable in un DataSet perchè occuperebbe parecchia memoria.
Le soluzioni migliori sono usare i DTS di SQL Server e usare il Wizard di importazione che ti permette di importare direttamente sulle tabelle dati provenienti da qualsiasi fonte dati, excel, oracle, ascii, ecc.
Oppure usare l'utilità bcp.exe sempre con SQL Server che più o meno fa la stessa cosa ma in maniera più efficente ma è più difficile da usare.
Oppure ancora manualmente leggere il file riga pre riga ed effettuare delle insert su DB.
ciao
david
secks
Profilo
| Senior Member
442
messaggi | Data Invio:
mer 1 dic 2004 - 10:38
Mi sembrava di aver letto da qualche parte che si puo' fare mediante un comando SQL, ma forse mi sbaglio. Il comando DTS e molto efficace ma poi bisogna gestirlo ne caso vengano modificati i tracciati. Cercavo dei comandi gestibili direttamente da codice, se ci sono.
Grazie e ciao.
Paolo.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 9 dic 2004 - 00:06
Intendi importare un file ASCII con un comando SQL ?
ciao
david
secks
Profilo
| Senior Member
442
messaggi | Data Invio:
gio 9 dic 2004 - 08:25
Si, mi sembra di aver letto qualcosa del genere da qualche parte. Appena ho un po' di tempo faccio delle ricerche e divulgo.
Ciao e grazie.
Paolo.
Steve71
Profilo
| Newbie
13
messaggi | Data Invio:
ven 24 dic 2004 - 09:46
Ecco un bel regalo per te da Babbo Natale!
L'ho scritta proprio un paio di giorni fa per un'esigenza simile alla tua:
Public Shared Function CsvToDataTable(ByVal fullFileName As String) As DataTable
Dim cnString As New StringBuilder
cnString.Append("Driver={Microsoft Text Driver (*.txt; *.csv)};")
cnString.AppendFormat("DBQ={0};", System.IO.Path.GetDirectoryName(fullFileName))
Dim cmd As New OdbcCommand
Dim cn As New OdbcConnection(cnString.ToString)
Try
cmd.CommandText = "SELECT * FROM " & GetFileName(fullFileName)
cmd.Connection = cn
Dim dt As New DataTable
Dim da As New OdbcDataAdapter(cmd)
da.Fill(dt)
Return dt
Catch ex As Exception
' Scrivo l'errore in un file di Log
LogWriter("ERROR while importing CSV to DataTable" & vbCrLf & _
vbTab & "Msg: " & ex.Message & vbCrLf & _
vbTab & "Msg: " & ex.Source)
Finally
cn.Close()
End Try
End Function
Steve71
Profilo
| Newbie
13
messaggi | Data Invio:
ven 24 dic 2004 - 09:48
Ah, dimenticavo gli Imports da usare:
Imports System.IO.Path
Imports System.Data.Odbc
Imports System.Text
CIAO!
Torna su
Stanze Forum
Elenco Threads
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 !