0

ASP.NET アプリケーションで Dbase ファイルを開いて読み取る必要があります。接続を開こうとすると、「インストール可能な ISAM が見つかりませんでした」という例外が発生します。この質問のトップの回答にある解決策を試しましたが、うまくいきませんでした。

データ ファイルのファイル パスは、C:\dev\DATA.DBF です。接続を開こうとするために使用しているコードは次のとおりです。

Dim connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\dev\DATA.DBF;Extended Properties=dBASE IV;"
Dim connection As OleDbConnection = New OleDbConnection(connectionString)
connection.Open()

この時点で、「インストール可能な ISAM が見つかりませんでした」という例外が発生します。これを機能させるために私ができることはありますか?このファイルを dBASE IV ファイルとして Access データベースにインポートできることに注意してください。

Windows 7 で Visual Studio 2008 を実行しています。さらに情報が必要な場合はお知らせください。ご協力いただきありがとうございます。

4

1 に答える 1

3

この問題の解決策を見つけました。この投稿で概説されている手法を使用しました。

OLE 接続ではなく ODBC 接続を使用しています。コードは次のとおりです。

Dim connectionString = "Driver={Microsoft dBase Driver (*.dbf)};SourceType=DBF;SourceDB=C:\dev;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;"
Dim connection As OdbcConnection = New OdbcConnnection(connectionString)
Dim command As OdbcCommand = New OdbcCommand("SELECT * FROM C:\dev\DATA.DBF", connection)
connection.Open()
Dim reader As OdbcDataReader = command.ExecuteReader()
connection.Close()

DBF ファイルのディレクトリ名は接続文字列にあり、DBF ファイルのフル パスは select ステートメントにあることに注意してください。リンクされた投稿の規則に従っただけで、うまくいきました。

于 2010-08-30T21:12:20.193 に答える