我在php中开发了一个可以从peachtree数据库中获取事务,invoices.etc的应用程序。因此,对于数据库访问,我通过使用Pervasive SQL连接选择了ODBC方法。 我使用了这样的连接字符串: -
$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
如何纠正这个问题?
答案 0 :(得分:1)
使用此连接字符串..它将起作用
$connect=odbc_connect("Driver={Pervasive ODBC Engine Interface};ServerName=localhost;ServerDSN=DSNname;","Username","Password",SQL_CUR_USE_ODBC);
答案 1 :(得分:0)
我认为这个连接字符串可以工作: -
$dbhandle = odbc_connect("DSN=YOURDSN;DRIVER={Pervasive ODBC Engine Interface};DATAPATH=c:\peachw\YOURCOMPANY;DDFPATH=c:\peachw\YOURCOMPANY","username","password");
用户名&密码是您在peachtree中提供的详细信息 - >维护 - >用户 - > setupsecurity->数据访问/ crystalreport - >您的peachtree应用程序中的所有选项。
答案 2 :(得分:0)
您需要创建指向数据位置的Pervasive数据库名称。您无法在连接字符串中指定路径。 Pervasive删除了该功能。通过Pervasive Control Center创建数据库名称后,您可以在连接字符串中指定该名称:
$connection = odbc_connect("DRIVER={Pervasive ODBC Engine Interface};Dbq=XXXXXXXX","Peachtree","password");
其中“XXXXXXXX”是您在PErvasive Control Center中创建的数据库的名称。