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;";
見つかりません インストールされている 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 が見つからないというメッセージが表示されます (図)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。