我们有一个使用 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;"
使用指令:
使用 Pervasive.Data.SqlClient; 使用 System.Data.OleDb; 使用 System.Xml.Serialization;
测试连接片段:
string strAccessConn = "提供者=PervasiveOLEDB;数据源=C:\datafilesDirectory;"
string strAccessSelect = "SELECT * FROM 假期";
// 创建数据集并将类别表添加到其中:
数据集 myDataSet = new DataSet();
OleDbConnection myAccessConn = null;
尝试
{
myAccessConn = 新 OleDbConnection(strAccessConn);
}
捕捉(异常前)
{
Console.WriteLine("错误:创建数据库连接失败。\n{0}", ex.Message);
返回;
}
尝试
{
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet,"Categories");
}
捕捉(例外前)
{
Console.WriteLine("错误:无法从数据库中检索所需数据。\n{0}", ex.Message);
返回;
}
最后
{
myAccessConn.Close();
}
应用程序无法打开数据库连接。