我们有一个使用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(); }
应用程序无法打开数据库连接。
答案 0 :(得分:1)
在connectionstring中,你应该替换C:\ datafilesDirectory;用C:\ test;。