Informix ODBC驱动程序..无效连接字符串属性



我以前从未使用过PDO与Informix数据库连接,在我运行基本查询时弹出了此错误:

SQLSTATE=01S00, SQLDriverConnect: -11005 [Informix][Informix ODBC Driver]Invalid connection string attribute. 

这是我的代码:

<?php
class prueba{
private static $cn = null;
 public static function conectar(){
    if(self::$cn !== null ) {
      return self::$cn;
    }
    try{
       self::$cn= new PDO("informix:host=localhost; service=30000;
    database=mrroot; server=mrserver; protocol=onsoctcp;
    EnableScrollableCursors=1", "mrtony", "");
       return self::$cn;
    } catch (PDOException $ex){
       die($ex->getMessage());
    }
  }

 public static function consulta(){
    $query = "SELECT * FROM fr_envio";
    $cn = prueba::conectar();
    $resultado = $cn->prepare($query);
    $resultado->execute();
        echo '<table>';
        while ($row = $resultado->fetch(PDO::FETCH_ASSOC))
            {
                echo '<tr>';
                echo '<td>'.$row['enviopre'].'</td>';
                echo '<td>'.$row['enviofra'].'</td>';
                echo '<td>'.$row ['enviopec'].'</td>';
                echo '<td>'.$row ['envioval'].'</td>';
                echo '</tr>';
            }
        echo '</table>';
}
}

$prueba = new prueba();
$prueba->consulta();
?>  

我已经在mySQL上测试了相同的代码,只需更改连接字符串,一切正常,似乎连接字符串缺少某些东西,我不知道它可能是什么。

我遵循本教程中所说的内容:

https://www.ibm.com/support/knowledgecenter/en/ssgu8g_12.1.0/com.ib.ibm.virtapp.doc/td_item2.htm2.htm

ummm ...尝试在一行中指定连接字符串。

root@irk:/usr3/products/php53# cat test.php
<?php
$db = new PDO("informix:host=irk;service=3046;database=stores7;
server=irk1210;protocol=onsoctcp;EnableScrollableCursors=1;", "informix", "ximrofni");
print "Connection Established!nn";
$stmt = $db->query("select * from systables");
$res = $stmt->fetch( PDO::FETCH_BOTH );
$rows = $res[0];
echo "Table contents: $rows.n";

?>
root@irk:/usr3/products/php53# php test.php
PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE=01S00, SQLDriverConnect: -11005 [Informix][Informix ODBC Driver]Invalid connection string attribute.' in /usr3/products/php5/test.php:4
Stack trace:
#0 /usr3/products/php5/test.php(4): PDO->__construct('informix:host=i...', 'informix', 'ximrofni')
#1 {main}
  thrown in /usr3/products/php5/test.php on line 4
root@irk:/usr3/products/php53# 

这样:

root@irk:/usr3/products/php53# cat test.php
<?php
$db = new PDO("informix:host=irk;service=3046;database=stores7; server=irk1210;protocol=onsoctcp;EnableScrollableCursors=1;", "informix", "ximrofni");
print "Connection Established!nn";
$stmt = $db->query("select * from systables");
$res = $stmt->fetch( PDO::FETCH_BOTH );
$rows = $res[0];
echo "Table contents: $rows.n";

?>
root@irk:/usr3/products/php53# php test.php
Connection Established!
Table contents: systables.
root@irk:/usr3/products/php53# 

最新更新