05. september 2006 - 16:56Der er
12 kommentarer og 1 løsning
Forbindelsesstreng til en .csv-fil
Når man laver en forbindelse til en Excelfil, kan man gøre det med:
Dim ConnExcel As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\servernavn\x\y\test.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""")
men hvordan laver man en forbindelse til en .csv-fil? Hvis jeg bruger ovennævnte blot med .csv (filen har Excel-ikon), så får jeg:
Hm - den påstår, at stien til filen ikke er en 'valid path', men en File.exists til helt samme sti+fil viser, at filen faktisk KAN findes, så der må være noget andet i vejen?
Min streng er:
Dim ConnExcel As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\servernavn\x\y\test.csv;Extended Properties=""text;HDR=Yes;FMT=Delimited""")
'C:\test.csv' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
Hvis jeg tjekker eksistens af filen med File.Exists, så kan den godt finde filen.
Dim ConnExcel As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\servernavn\x\y\;Extended Properties=""text;HDR=Yes;FMT=Delimited""")
Så har jeg omsider fundet ud af det og du var inde på det helt rigtige!!
Sådan kan jeg gennemføre åbningen:
Dim ConnExcel As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\servernavn\x\y\;Extended Properties=""Text;HDR=Yes;FMT=Delimited""")
altså som du skriver kun åbne til selve biblioteket.
Herefter:
Dim cmd As New OleDbCommand("SELECT * FROM Test.csv WHERE x = 'noget'", ConnExcel) Dim adapter As New OleDbDataAdapter(cmd) Dim table As New DataTable() ConnExcel.Open() adapter.Fill(table)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.