2009-09-23 4 views
2

У нас есть существующее приложение стороннего разработчика с закрытым исходным кодом, использующее базу данных Pervasive PSQL. Например, PSQL находятся в каталоге c: \ test и имеют имена типа holiday.dat, offers.dat и т. Д. Я хочу читать и, если возможно, писать в эти файлы без установки Pervasive Workstation Engine. С Workstation Engine и ODBC-соединением он работает без каких-либо проблем. Но мы не будем устанавливать Workstation Engine на любом клиенте, а стороннее приложение - тоже.Подключить Pervasive DB с использованием OLE DB

На 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

В строке соединения вы должны заменить C: \ datafilesDirectory; с C: \ test ;.

Смежные вопросы