2

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();
}

アプリケーションがデータベース接続を開くことができません。

4

1 に答える 1

1

接続文字列で、C:\datafilesDirectoryを置き換える必要があります。C:\test;を使用します。

于 2009-09-23T07:23:06.023 に答える