簡體   English   中英

使用 PHP 時在 iSeries 上損壞 Pipe

[英]Broken Pipe on iSeries when using PHP

我正在嘗試編寫一些試圖連接到我們的 iSeries 的 PHP 代碼,但我收到錯誤“Broken Pipe”。 我試過瀏覽 ibm 頁面以查看一些示例,但我找不到任何東西。 有人可以向我解釋我做錯了什么。 這是我的代碼:

<?php
/* Connect to server */
$conn = i5_connect("IPADDRESS", "USERNAME", "PASSWORD");
if (!$conn) {

    $error = i5_error();

    echo " Error during connection\n";

    echo "<BR> Error number: ".$error["num"];

    echo "<BR> Error category: ".$error["cat"];

    echo "<BR> Error message: ".$error["msg"];

    echo "<BR> Error description: ".$error["desc"];

    trigger_error("I5 connection fails", E_USER_ERROR);

} else {

    echo " Connection OK ";

}
?>

我相信 db2_xxxx 函數需要 DB2 Connect 客戶端。 我不知道 i5_xxxx 函數是否如此。 每當我使用 PHP 連接到 DB2 時,我總是使用 ODBC。該驅動程序隨 iACS 免費提供。 DB2 Connect 產品通常非常昂貴,除非您在一家非常大的公司工作。

這是一個示例工作連接字符串:

// link to as400
$dsn = "DRIVER=iSeries Access ODBC Driver;SYSTEM=" . $asdb_host . ";DBQ=" . $asdb_name;
@$link_id_400 = odbc_connect ( $dsn, $asdb_uname, $asdb_pw );

其中$asdb_host是 IBM i 服務器的主機名, $asdb_name是庫名稱, $asdb_uname是用戶標識, $asdb_pw是密碼。 一旦我使用 ODBC 建立連接,您就可以使用其他 ODBC 函數來訪問數據。 可能感興趣的一個注釋是,使用列號解析列比使用列名快得多!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM