2 Stimmen

Verbinden einer Pervasive DB mit OLE DB

Wir haben eine bestehende Closed-Source-Anwendung eines Drittanbieters, die eine Pervasive PSQL-Datenbank verwendet. Zum Beispiel befinden sich die PSQL im Verzeichnis c: \test und haben Namen wie holiday.dat, offers.dat und so weiter. Ich möchte diese Dateien lesen und, wenn möglich, in sie schreiben, ohne die Pervasive Workstation Engine installiert zu haben. Mit der Workstation Engine und einer ODBC-Verbindung läuft es ohne Probleme. Aber wir werden die Workstation Engine auf keinem Client installieren und die Drittanwendung tut es auch nicht.

Auf verbindungsstränge.de Ich habe die Verbindungszeichenfolge gefunden:

"Provider=PervasiveOLEDB;Data Source=C:\datafilesDirectory;"

Direktiven zu verwenden:

using Pervasive.Data.SqlClient;
using System.Data.OleDb;
using System.Xml.Serialization;

Schnipsel einer Testverbindung:

string strAccessConn = "Provider=PervasiveOLEDB;Data Source=C:\\datafilesDirectory;"

string strAccessSelect = "SELECT \* FROM holidays";

// Create the dataset and add the Categories table to it:
DataSet myDataSet = new DataSet();
OleDbConnection myAccessConn = null;

try
{
    myAccessConn = new OleDbConnection(strAccessConn);
}
catch(Exception ex)
{
    Console.WriteLine("Error: Failed to create a database connection. \\n{0}", ex.Message);
    return;
}

try
{
    OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
    OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);

    myAccessConn.Open();
    myDataAdapter.Fill(myDataSet,"Categories");
}
catch (Exception ex)
{
    Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\\n{0}", ex.Message);
    return;
}
finally
{
    myAccessConn.Close();
}

Die Anwendung kann die Datenbankverbindung nicht öffnen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X