Pervasive PSQL データベースを使用する既存のクローズド ソースのサード パーティ アプリケーションがあります。たとえば、PSQL はディレクトリ c:\test にあり、holiday.dat、offers.dat などの名前が付いています。Pervasive Workstation Engine をインストールせずに、これらのファイルを読み取り、可能であれば書き込みたいと考えています。ワークステーション エンジンと ODBC 接続を使用すると、問題なく動作します。ただし、Workstation Engine をクライアントにインストールすることはありません。また、サードパーティ アプリケーションもインストールしません。
connectionsstrings.comで接続文字列を見つけました:
"Provider=PervasiveOLEDB;Data Source=C:\datafilesDirectory;"
ディレクティブの使用:
Pervasive.Data.SqlClient の使用; System.Data.OleDb を使用します。 System.Xml.Serialization を使用します。
テスト接続スニペット:
string strAccessConn = "Provider=PervasiveOLEDB;Data Source=C:\datafilesDirectory;" string strAccessSelect = "SELECT * FROM 休日"; // データセットを作成し、それに Categories テーブルを追加します。 データセット myDataSet = new DataSet(); OleDbConnection myAccessConn = null; 試す { myAccessConn = 新しい OleDbConnection(strAccessConn); } catch(例外例) { Console.WriteLine("エラー: データベース接続の作成に失敗しました。\n{0}", ex.Message); 戻る; } 試す { OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn); OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand); myAccessConn.Open(); myDataAdapter.Fill(myDataSet,"カテゴリ"); } キャッチ(例外例) { Console.WriteLine("エラー: データベースから必要なデータを取得できませんでした。\n{0}", ex.Message); 戻る; } 最後に { myAccessConn.Close(); }
アプリケーションがデータベース接続を開くことができません。