我们有一个使用 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(); }
应用程序无法打开数据库连接。