我似乎无法使用以下连接字符串读取.csv文件:
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();
Run Code Online (Sandbox Code Playgroud)
它给出以下错误:
'D:\ arrgh\arrgh\Uploads\countrylist.csv'不是有效路径.确保路径名拼写正确,并且您已连接到文件所在的服务器.
我确认文件在那里.这里发生了什么?
sea*_*ean 58
好吧,我进一步挖了一下,似乎我的连接字符串是错误的.对于CSV文件,您不指定实际文件名,而是指定它所属的目录,例如.
var fileName = string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "Uploads\\");
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();
var cmd = new OleDbCommand("SELECT * FROM [countrylist.csv]", oledbConn);
Run Code Online (Sandbox Code Playgroud)
并在SelectCommand中指定文件名.这是多么奇怪的做法.它现在对我有用.