尝试通过ODBC将PHP连接到Hana DB

mhd8tkvw  于 2023-01-08  发布在  PHP
关注(0)|答案(1)|浏览(212)

我正在尝试使用PHP7连接到我的Hana DB。
返回的消息为:

PHP警告:odbc连接():SQL错误:[Microsoft][ODBC驱动程序管理器]未找到数据源名称,且未指定默认驱动程序,SQLConnect中的SQL状态为IM002

ODBC数据源管理器如下所示:

当我通过ODBC数据源管理测试连接时,连接成功。
PHP代码:

$driver     = "HDBODBC";
$servername = "10.10.10.34";      //tried also hanabone here      
$db_name    = "NDB";                            
$username   = "ABC";                     
$password   = "123";

$connexion   = odbc_connect("Driver=$driver;ServerNode=$servername;Database=$db_name", $username, $password,SQL_CUR_USE_ODBC);

这可能是显而易见的,但我错过了什么?

e5nqia27

e5nqia271#

因此,ODBC已明确建立(正如您在测试时看到的成功提示)
对于ODBC DSN(数据源名称)连接,请尝试改用PDO

<?php

   $username = "ABC";
   $password = "123";
   $dsn ="odbc:hanabone";

//For example to get all data from tablename1
 
  $queryString = "SELECT * from tablename1";

   $dbh = new PDO($dsn, $username, $password);
   $stmt = $dbh->prepare($queryString);
   $stmt -> execute();
   $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>

或者,如果您使用的是32位驱动程序,并且通过端口30015访问服务器:

<?php

$driver     = "HDBODBC32"; 
$servername  = "yourservername.com:30015"; 

$db_name    = "HDB";        
$username   = "ABC"; 
$password   = "123"; 

$conn       = odbc_connect("Driver=$driver;ServerNode=$servername;Database=$db_name;", $username, $password, SQL_CUR_USE_ODBC);

相关问题