在asp.net服务器上,有谁曾成功地读取foxpro的数据?
    请教代码是怎样写的.
    foxpro是那种一个dbf文件就是一个表的foxpro.
    同时,成功读取的机子上是否有装foxpro或vb,如果有装,是什么版本的?

解决方案 »

  1.   

    应该是连接没有写好,参见http://www.connectionstrings.com/
      

  2.   

    ODBC standard:"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;" OLE DB, OleDbConnection (.NET) 
    standard:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password=" 
      

  3.   

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password="
      

  4.   

    很简单,一定要foxplus格式,如果是vfp格式,copy to TableName foxplus
    下面是一个sample从foxpro导入到access//连接foxpro
    string strConnFox="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+System.Web.HttpContext.Current.Server.MapPath("")+"\\UpLoad"+";Extended Properties=dBase IV";
    //连接Access
    string strConnAcc="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("..\\")+"zql.mdb" ;OleDbConnection connFox = new OleDbConnection(strConnFox);
    OleDbConnection connAcc = new OleDbConnection(strConnAcc);
    OleDbDataAdapter adp1 = new OleDbDataAdapter("select * from Tzzynet",connFox);
    OleDbDataAdapter adp2 = new OleDbDataAdapter("select * from Tzzynet",connAcc);
    OleDbCommandBuilder cb = new OleDbCommandBuilder(adp2);
    //删除原有的tzzynet
    OleDbCommand cmdDelAll = new OleDbCommand("delete * from tzzynet",connAcc);
    connAcc.Open();
    cmdDelAll.ExecuteNonQuery();
    cmdDelAll.Dispose();
    DataSet myset = new DataSet();
    adp1.Fill(myset,"TzzyFox");
    adp2.Fill(myset,"TzzyAcc");
    DataRow row;
    foreach(DataRow dr in myset.Tables["TzzyFox"].Rows)
    {
    row = myset.Tables["TzzyAcc"].NewRow();
    foreach (DataColumn c in myset.Tables["TzzyFox"].Columns)
    {
    row[c.ColumnName] = dr[c.ColumnName];
    }
    myset.Tables["TzzyAcc"].Rows.Add(row);
    }
    adp2.Update(myset,"TzzyAcc");
      

  5.   

    http://www.connectionstrings.com/
    这里写得很详细了
      

  6.   

    sunrongxa(西康指挥部.net) 说的对,一定要foxplus格式,
    执行copy to TableName foxplus就ok了.
      但问题是为什么一定要转换?不转换行不行?还有别的什么转换方法?
      因foxpro文件不是客户的(别人提供的,且不会帮你转换),客户也不一定会操作foxpro.
      

  7.   

    我读过,成功地读过,和其他的数据库操作一样,发不到服务器上不需要装VF或VB的,反正我们现在给他们配的没装。不过当时我的机器上不装不行,我就装了,没仔细测试过。
    加在Web.config中的连接字符串
    <appSettings>  
           <add key="ConnStr" value="PWD=;SourceType=DBF;UID=;Driver={Microsoft FoxPro VFP Driver (*.dbf)};Collate=Machine;BackgroundFetch=Yes;SourceDB=F:\\soft\\asp.net\\xxxx\\后台维护\\wjydw_db;Exclusive=No" />    
    </appSettings>      
      <system.web>
      

  8.   

    to sunrongxa(西康指挥部.net) :
       很好,但代码哪有?
      

  9.   

    vfp中的代码,你把它改成 C#
    handle=fopen('a:\grzlk.dbf',12)
    a=chr(03)
    =fwrite(handle,a)
    =fclose(handle)
      

  10.   

    特别感谢:sunrongxa(西康指挥部.net) !