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();
}
アプリケーションがデータベース接続を開くことができません。