/// <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 服务器上的复制管理器的安装存在问题。"}

解决方案 »

  1.   

     odbcConn.Open出错,我估计是否你使用的导入方法,是用"Driver={Microsoft Text Driver (*.txt; *.csv)}方式导入的,不支持网络路径?
      

  2.   

    bulk insert 表名 from 'c:\a.txt'   
      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;
       }  
      }