使用OLE DB连接Pervasive DB

时间:2009-09-23 06:46:01

标签: c# oledb pervasive

我们有一个使用Pervasive PSQL数据库的现有闭源第三方应用程序。例如,PSQL位于目录c:\ test中,其名称类似于holiday.dat,offers.dat等。我想阅读并尽可能在没有安装Pervasive Workstation Engine的情况下写入这些文件。使用Workstation Engine和ODBC连接,它可以毫无问题地运行。但我们不会在任何客户端上安装Workstation Engine,第三方应用程序也不会安装它。

connectionsstrings.com上我找到了连接字符串:

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

使用指令:

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

测试连接代码段:

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

应用程序无法打开数据库连接。

1 个答案:

答案 0 :(得分:1)

在connectionstring中,你应该替换C:\ datafilesDirectory;用C:\ test;。