none
自做 dbf 連線字串的問題 RRS feed

  • 問題

  • 各位達人安

    小的又來麻煩各位了!!

    今天用一個dbf檔  中文.dbf  欲顯示在datagrid上, 以下是我的程式片段:

     <add key="ConnectionInfo"
    value="Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;Mode=ReadWrite;Initial Catalog=d:\PIPE\PipeLayer03" />

     

    string connectionInfo = ConfigurationSettings.AppSettings["ConnectionInfo"];

        strConnString = connectionInfo;

       this.DropDownList1.Items.Clear();

       string connStr=strConnString;
       
       System.Data.Odbc.OdbcConnection cn = new OdbcConnection();
       cn.ConnectionString = connStr;
       cn.Open();
       DataSet ds = new DataSet();
       string strCmdString = "select ADDRESS from D:\\PIPE\\PipeLayer03\\門牌資料 ";
       System.Data.Odbc.OdbcDataAdapter da = new OdbcDataAdapter(strCmdString,cn);
       da.Fill(ds,"DOOR");
       this.DataGrid1.DataSource = ds;
       this.DataGrid1.DataMember = "DOOR";

       this.DataGrid1.DataBind();
       cn.Close(); 

    錯誤訊息是: ERROR [IM002] [Microsoft][ODBC 驅動程式管理員] 找不到資料來源名稱且未指定預設的驅動程式

     

    煩請指導!! 謝謝了!!

     

    2006年12月28日 下午 01:01

解答

  • HI,

    利用ODBC連線DBF可以使用以下的方式連線:

    Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;
     

    利用OLEDB連線DBF可以使用以下的方式連線:

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password=;
     
    tihs
    2006年12月29日 上午 04:25

所有回覆

  • 我不用 c# ,只是路過...

    你用 odbc 連結器,應該下的是 odbc 的連線字串,為什麼會下這個:

    Provider=MSDASQL.1;Persist Security Info=False

    另外建議使用 Visual Foxpro Driver 來連 dbf ,因為純 dbf 的 driver 很舊,連長檔名都不支援。

    連 dbf 時,dbq 直接設路徑,我沒試過有空白的,這部份請小心測試。表格名直接設 dbf 檔名,不用在包含路徑。

     

    2006年12月29日 上午 02:42
  • HI,

    利用ODBC連線DBF可以使用以下的方式連線:

    Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;
     

    利用OLEDB連線DBF可以使用以下的方式連線:

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password=;
     
    tihs
    2006年12月29日 上午 04:25