/// <summary>
/// 获取CSV导入的数据
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="fileName">文件名称(.csv不用加)</param>
/// <returns></returns>
public DataTable GetCsvData(string filePath, string fileName)
{
string path = Path.Combine(filePath, fileName + ".csv");
string connString = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + filePath + ";Extensions=asc,csv,tab,txt;";
try
{
using (OdbcConnection odbcConn = new OdbcConnection(connString))
{
odbcConn.Open//执行到这里就报错
OdbcCommand oleComm = new OdbcCommand();
oleComm.Connection = odbcConn;
oleComm.CommandText = "select * from [" + fileName + "#csv]";
OdbcDataAdapter adapter = new OdbcDataAdapter(oleComm);
DataSet ds = new DataSet();
adapter.Fill(ds, fileName);
return ds.Tables[0];
odbcConn.Close();
}
if (File.Exists(path))
{
File.Delete(path);
}
}
catch (Exception ex)
{
if (File.Exists(path))
{
File.Delete(path);
}
throw ex;//这里抛出异常
}
}
这是我调用的代码
csv.CSVHelper Csv = new csv.CSVHelper();
string url = @"http://221.130.10.100/osgplus/querys.jsp?begin=2010-06-12&end=2010-06-12";
string name = "yx_2010-06-12_2010-06-12";
DataTable dt = Csv.GetCsvData(url, name);
GridView1.DataSource = dt.DefaultView;
GridView1.DataBind();异常信息
{"ERROR [HY000] [Microsoft][ODBC Text Driver] 可能是 Internet 的连接速度非常慢,或 internet 服务器上的复制管理器的安装存在问题。\r\nERROR [IM006] [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败\r\nERROR [HY000] [Microsoft][ODBC Text Driver] 可能是 Internet 的连接速度非常慢,或 internet 服务器上的复制管理器的安装存在问题。"}
with(
FIRE_TRIGGERS ,
FIELDTERMINATOR=',' --csv文件的字段分隔符是,
)
public DataSet GetDataSetFromCSV(string filePath, string fileName)
{
string strConn = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=";
strConn += filePath;
strConn += ";Extensions=asc,csv,tab,txt;" ;
OdbcConnection objConn = new OdbcConnection(strConn);
DataSet dsCSV = new DataSet();
try
{
string strSql = "select * from " + fileName;
OdbcDataAdapter da= new OdbcDataAdapter(strSql, objConn);
da.Fill(dsCSV);
return dsCSV;
}
catch(Exception ex)
{
throw ex;
}
}