使用c#訪問Access資料庫時,提示找不到可安裝的 ISAM,如:
代碼如下:
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db.mdb;Pwd=abcd;"; conn = new OleDbConnection(connectionString); conn.Open(); DataTable dt = conn.GetSchema("Tables"); if (dt != null && dt.Rows.Count != 0) { for (int i = 0; i < dt.Rows.Count; i++ ) { listBox1.Items.Add(dt.Rows[i]["TABLE_NAME"].ToString()); } } conn.Close();
經過多次的修改測試發現,只要連接字串中出現不可識別的關鍵字、設定項目名稱,就會提示找不到可安裝的 ISAM的錯誤。
上面的連接字串中的“Pwd”在SQL Server的連接字串中是可用的,但是在Access中卻是不可識別的。
例如以下語句也會提示找不到可安裝的 ISAM的錯誤:
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=db.mdb;abcd=123";
正確的連接字串寫法:
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db.mdb;jet oledb:database password=123;";//或者: connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=db.mdb;jet oledb:database password=123;";
使用c#訪問Access資料庫時,提示找不到可安裝的 ISAM,如:
代碼如下:
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db.mdb;Pwd=abcd;"; conn = new OleDbConnection(connectionString); conn.Open(); DataTable dt = conn.GetSchema("Tables"); if (dt != null && dt.Rows.Count != 0) { for (int i = 0; i < dt.Rows.Count; i++ ) { listBox1.Items.Add(dt.Rows[i]["TABLE_NAME"].ToString()); } } conn.Close();
經過多次的修改測試發現,只要連接字串中出現不可識別的關鍵字、設定項目名稱,就會提示找不到可安裝的 ISAM的錯誤。
上面的連接字串中的“Pwd”在SQL Server的連接字串中是可用的,但是在Access中卻是不可識別的。
例如以下語句也會提示找不到可安裝的 ISAM的錯誤:
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=db.mdb;abcd=123";
正確的連接字串寫法:
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db.mdb;jet oledb:database password=123;";//或者: connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=db.mdb;jet oledb:database password=123;";