//Set   connection   string   
string strConn = "Driver= {Microsoft Text Driver (*.txt;*.csv)}; DBQ= "+this.fileName; 
//Create   connection   to   CSV  file 
OdbcConnection odbcConnection = new OdbcConnection(strConn);  
//Open   the   connection     
odbcConnection.Open();
把一个路径存储在this.fileName中的txt文件写入DataSet中执行到odbcConnection.Open()时抛出异常,
提示“未发现数据源名称并且未指定默认驱动程序”,断点调试发现执行完OdbcConnection odbcConnection = new OdbcConnection(strConn)时,odbcConnection中的Driver仍未空,这是怎么回事呢?

解决方案 »

  1.   

    string ServerPath="c:\\";    
    string constr="Driver={Microsoft Text Driver (*.txt; *.csv)}; Dbq=" + ServerPath+";Extensions=asc,csv,tab,txt;"; 
      

  2.   

    使用odbc连接数据库,要先设置odbc数据源。在控制面板->管理工具->数据源 里设置
      

  3.   

    这样能连接成功private void button5_Click(object sender, EventArgs e)
    {
        string constr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\;Extensions=asc,csv,tab,txt;";
        OdbcConnection txtcon = new OdbcConnection(constr);
        txtcon.Open();
    }
      

  4.   

    WINDOWSXP + C#2005.NET 环境测试通过private void button1_Click(object sender, EventArgs e)
    {
        string constr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\;Extensions=asc,csv,tab,txt;";
        OdbcConnection txtcon = new OdbcConnection(constr);
        OdbcDataAdapter da = new OdbcDataAdapter(@"select * from ls1.txt", txtcon);
        DataTable dt=new DataTable ();
        da.Fill(dt);
        dataGridView1.DataSource = dt;
    }
    // 测试用例
    // C:\ls1.txt文件内容
    //日期,代码
    //2000-02-01,00-00-00
    //2000-02-02,00-00-00
    //2000-02-03,00-00-00
    //2000-02-04,00-00-00
    //2000-02-05,00-00-00
    上面是.NET Framework Data Provider for ODBC的标准用法
    可以结贴了
      

  5.   

    解释一下11楼用法:Microsoft Text Driver 边接字符串中, Dbq=不包括文件名的路径
    Odbc数据查询语句中, select * from 不包括路径的文件名
      

  6.   

    仅供参考:
            public void TestConn()
            {
                string constr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\;Extensions=asc,csv,tab,txt;";
                OdbcConnection txtcon = new OdbcConnection(constr);
                txtcon.Open();
                //a,b,c,d字段是不可少的
                //fileName是文件名
                string sql = "insert into fileName (a,b,c,d) values ('1','2','3','d')";
                OdbcCommand cmd = txtcon.CreateCommand(); cmd.CommandText = sql;
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.ExecuteNonQuery();
            }