Я разрабатываю приложение в php, которое может извлекать транзакцию, invoices.etc из базы данных peachtree. Поэтому для доступа к базе данных я выбрал метод ODBC, подключившись с помощью Pervasive SQL. Я использовал строку подключения следующим образом:
$connection = odbc_connect("DRIVER={Pervasive ODBC Engine Interface};Dbq=C:\Sagepro\Peachtree\Company\Sample\PAW\BCS","Peachtree","password");
Но он дает ошибку
( ! ) Warning: odbc_connect() [function.odbc-connect]: SQL error: [Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface][Data Record Manager]Cannot locate the named database you specified(Btrieve Error 2301), SQL state S1000 in SQLConnect in C:\wamp\www\peachtreeapi\index.php on line 2
Как исправить это?
Используйте эту строку подключения.. она будет работать
$connect=odbc_connect("Driver={Pervasive ODBC Engine Interface};ServerName=localhost;ServerDSN=DSNname;","Username","Password",SQL_CUR_USE_ODBC);
Вам необходимо создать имя Pervasive Database Name, указывающее на ваше местоположение данных. Вы не можете указать путь в строке подключения. Всепроникающие удалили эту функциональность. После создания имени базы данных через Pervasive Control Center вы должны указать это имя в строке подключения:
$connection = odbc_connect("DRIVER={Pervasive ODBC Engine Interface};Dbq=XXXXXXXX","Peachtree","password");
где "XXXXXXXX" - это имя базы данных, созданной в Центре управления PErvasive.
Я думаю, что эта строка соединения будет работать: -
$dbhandle = odbc_connect("DSN=YOURDSN;DRIVER={Pervasive ODBC Engine Interface};DATAPATH=c:\peachw\YOURCOMPANY;DDFPATH=c:\peachw\YOURCOMPANY","username","password");
имя пользователя и пароль - данные, которые вы предоставили в peachtree → maintain-> пользователи → setupsecurity-> доступ к данным /crystalreport → Все варианты в приложении peachtree.
$connection = odbc_connect("DRIVER={Pervasive ODBC Engine Interface};Dbq=C:\\Sagepro\\Peachtree\\Company\\Sample\\PAW\\BCS","Peachtree","password");