【问题标题】:PHP connection to H2DB H2 databasePHP连接到H2DB H2数据库
【发布时间】:2013-08-23 18:32:51
【问题描述】:

如何将 PHP 连接到 H2 数据库,到目前为止,我尝试使用 a 启动嵌入式服务器

$ java -cp h2-1.3.172.jar org.h2.tools.Server
  Web Console server running at http://127.0.1.1:8082 (others can connect)
  TCP server running at tcp://127.0.1.1:9092 (only local connections)
  PG server running at pg://127.0.1.1:5435 (only local connections)

ubuntu下安装pg-sql模块

 sudo apt-get install php5-pgsql

然后在我的 php 中我有以下内容

$conn = pg_connect("host=127.0.1.1 port=5435 dbname=/home/frank/testdb user=sa password=");

还尝试了不同的端口:5435、9092,不同的主机:localhost、127.0.0.1 但没有,返回的连接为空或脚本挂起。

有什么建议吗?

【问题讨论】:

    标签: php h2


    【解决方案1】:

    pg_connect 用于连接 PostrgeSQL 数据库服务器,不适用于 H2DB。这些是完全不同的产品,不兼容

    要连接到 H2,您可以使用 php-java 桥和一些自定义 java 类来向 php 客户端公开所需的功能

    【讨论】:

    • H2 提供 PostgreSQL 兼容性,根据一些论坛的说法,使用它是避免 H2 在 PHP 下缺少适当驱动程序的唯一方法。如果你有一个使用 php-java-bridge 的工作示例,请分享它,到目前为止还没有人设法做到这一点。
    • 诀窍是你不能序列化资源,所以不可能做连接相关的东西,你必须再增加一个抽象层。例如,您不能执行 SELECT 查询和获取结果集。您必须在 Java 端执行 SELECT,使用一些 ORM 将结果集转换为对象,然后您可以将这些对象发送回 PHP
    【解决方案2】:

    去年我在 Java servlet 中执行 PHP 代码时让它工作。我的实验可在https://github.com/webdevelopersdiary/jamp 获得。它由 Quercus 提供支持,并将 PHP 数据库连接尝试重定向到 H2(至少它适用于 MySQL,尚未测试 PSQL,但在这种情况下它可能会这样做)。另请注意,H2 的“兼容模式”非常初级,它仍然会破坏您提供给它的非常标准的 PSQL 内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      相关资源
      最近更新 更多