ja nie potrafię odczytać plik .csv stosując następujący ciąg połączenia:C# odczyt pliku CSV nie daje poprawną ścieżkę
var fileName = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Uploads\\countrylist.csv");
string connectionString = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; Extended Properties=""text;HDR=YES;FMT=Delimited""", fileName);
OleDbConnection oledbConn = new OleDbConnection(connectionString);
oledbConn.Open();
To daje następujący błąd:
'D:\arrgh\arrgh\Uploads\countrylist.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.
I zweryfikowali, że plik tam jest. Co tu się dzieje?
Należy również pamiętać, że jeśli używasz sterownika OLEDB systemu Microsoft Jet do odczytu plików CSV, nie będzie można odczytać żadnego pliku CSV, który ma więcej niż jedną kropkę w nazwie pliku. Oznacza to, że "filename.csv" zadziała, ale "file.name.csv" nie będzie. –
Zwróć uwagę, że chcesz użyć 'sql = SELECT * FROM myfile.csv' (tzn. Nazwa pliku bez ścieżki). Możesz wyodrębnić nazwę pliku z pełnej ścieżki, używając 'csvFile = Right (csvPath, Len (csvPath) - InStrRev (csvPath," \ "))' –
@ TommyO'Dell lub po prostu 'Path.GetFileName (csvPath)' –