PHP PDO ODBC连接到普及数据库

问题描述 投票:0回答:1

全部32位。 Windows 2018服务器PVSQL v10(我无法更新)

PHP 5.3.28(我可能可以将其更新为5.6.x)7.x会破坏得太多

我已经尝试在各处搜索有关如何使用PDO将PHP连接到Pervasive DB的示例。我设法使用以下非PDO连接器进行连接:

$conn = odbc_connect("demodata","","");
if(!$conn) die("Could not connect");

查看https://docs.actian.com/psql/psqlv13/index.html#page/odbc%2Fodbcadm.htm%23ww1213912中的示例我发现我应该使用类似的东西:

    try {
        $conn = new PDO("odbc:Driver={Pervasive ODBC Client Interface};ServerDSN=demodata;");
        if(!$conn) die("Could not connect");
    }
    catch (PDOException $e) {
      echo $e->getMessage();
      exit;
    }

我也尝试过:

        $conn = new PDO("odbc:Driver={Pervasive ODBC Client Interface};ServerName=localhost;SeverDSN=demodata;");
        $conn = new PDO("odbc:Driver={Pervasive ODBC Client Interface};ServerName=localhost;SeverDSN=DEMODATA;");

虽然我这样做。我收到错误:

SQLSTATE [HY000] SQLDriverConnect:-1206 [普及性] [ODBC客户端接口] [LNA] [普及] [ODBC引擎接口] [数据记录管理员]非db文件或损坏的db。

但是我知道它没有损坏。我能够以其他方式连接并进行查询。真的很想能够使用PDO。从普及型ODBC客户端DSN安装程序进行测试时。我获得连接成功。

我想念什么?

php pdo pervasive
1个回答
0
投票

感谢@Mitheil为我指出正确的方向。即使在本地计算机上,服务器名称似乎也确实是必须的。因此,所需的字符串是:“ odbc:Driver = {Pervasive ODBC Client Interface}; ServerName = db; ServerDSN = demodata;”

© www.soinside.com 2019 - 2024. All rights reserved.