连接SAP Hana数据库时调用未定义的函数odbc_connect()消息

时间:2013-07-25 13:52:17

标签: php sap

我在PHP页面中使用odbc_connect()连接到HANA数据库。我在本地运行时工作正常。 我将相同的PHP页面上传到服务器,我收到此错误:

Fatal error: Call to undefined function odbc_connect()

代码:

$connect = odbc_connect("Team6DataSource", "TEAM6", "Password1", SQL_CUR_USE_ODBC);

Team6DataSource =数据源名称。

ip address = 54.217.234.218

任何人都可以帮帮我吗? 感谢

2 个答案:

答案 0 :(得分:6)

我只是通过谷歌获取this instruction这对你真有帮助。

  1. Download the SQL Server ODBC driver for your PHP client
    platform.
    (需要注册。)如果是SQL Server ODBC驱动程序 目前无法在您的平台上使用,请查看清单 ODBC-ODBC Bridge Client platforms。 ODBC-ODBC Bridge是一个 您可以使用Easysoft的替代SQL Server解决方案 从这个网站下载。
  2. 在计算机上安装并许可SQL Server ODBC驱动程序 PHP已安装。有关安装说明,请参阅ODBC驱动程序 文档。请参阅文档以了解哪种环境 您需要设置 (LD_LIBRARY_PATH, LIBPATH, LD_RUN_PATH, SHLIB_PATH depending on the driver, platform and linker).
  3. 的变量
  4. /etc/odbc.ini中创建连接到的数据源 您想要从PHP访问SQL Server database。例如,这个 SQL Server ODBC数据源连接到SQL Server Express实例 为Northwind数据库提供服务:

    • 使用isql测试新数据源。例如: 的 cd /usr/local/easysoft/unixODBC/bin

    ./ isql -v MSSQL-PHP

  5. [MSSQL-PHP]
    Driver                  = Easysoft ODBC-SQL Server
    Server                  = my_machine\SQLEXPRESS
    User                    = my_domain\my_user
    Password                = my_password
    

    请复制并粘贴此脚本并执行此

    <?
    /*
    PHP MSSQL Example
    
    Replace data_source_name with the name of your data source.
    Replace database_username and database_password
    with the SQL Server database username and password.
    */
    $data_source='data_source_name';
    $user='database_username';
    $password='database_password';
    
    // Connect to the data source and get a handle for that connection.
    $conn=odbc_connect($data_source,$user,$password);
    if (!$conn){
        if (phpversion() < '4.0'){
          exit("Connection Failed: . $php_errormsg" );
        }
        else{
          exit("Connection Failed:" . odbc_errormsg() );
        }
    }
    
    // This query generates a result set with one record in it.
    $sql="SELECT 1 AS test_col";
    
    # Execute the statement.
    $rs=odbc_exec($conn,$sql);
    
    // Fetch and display the result set value.
    if (!$rs){
        exit("Error in SQL");
    }
    while (odbc_fetch_row($rs)){
        $col1=odbc_result($rs, "test_col");
        echo "$col1\n";
    }
    
    // Disconnect the database from the database handle.
    odbc_close($conn);
    ?>
    
    1. 替换data_source_name, database_username and database_password 使用您的SQL Server ODBC数据源,登录名和密码。
    2. 要在Apache下运行脚本,请将文件保存在Apache Web下面 服务器的文档根目录. For example, /var/www/apache2-default/php-mssql-connection.phtml. Then view the file in a web browser:

      http://localhost/php-mssql-connection.phtml
      
    3. 如果您的网络浏览器未在网络上运行在同一台计算机上 server,将localhost替换为Web服务器的主机名或IP 地址。
    4. 要从命令行运行脚本,请保存文件。

      例如,     /tmp/php-mssql-connection.php。然后运行$ php     /tmp/php-mssql-connection.php。

    5. 更多详情请参阅此LINK

答案 1 :(得分:0)

下载this,将.dll复制到PHP文件夹,然后在php.ini文件中添加:

extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll