3

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

Fatal error: Call to undefined function odbc_connect()

编码:

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

Team6DataSource = 数据源名称。

IP 地址 = 54.217.234.218

谁能帮帮我吗?谢谢

4

2 回答 2

6

我只是在谷歌上浏览得到这个指令,这对你真的很有帮助。


  1. 为您的 PHP 客户端平台下载 SQL Server ODBC 驱动程序。
    (需要注册。)如果 SQL Server ODBC 驱动程序当前不适用于您的平台,请查看
    ODBC-ODBC Bridge 客户端平台列表。ODBC-ODBC 桥是
    Easysoft 的另一种 SQL Server 解决方案,您可以从该站点下载。
  2. 在安装 PHP 的计算机上安装 SQL Server ODBC 驱动程序并获得许可。有关安装说明,请参阅 ODBC 驱动程序文档。参考文档查看需要设置哪些环境变量(LD_LIBRARY_PATH, LIBPATH, LD_RUN_PATH, SHLIB_PATH depending on the driver, platform and linker).
  3. 创建一个/etc/odbc.ini连接到 SQL Server database您要从 PHP 访问的 ODBC 数据源。例如,此 SQL Server ODBC 数据源连接到为 Northwind 数据库提供服务的 SQL Server Express 实例:

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

    ./isql -v MSSQL-PHP

[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. 如果您的 Web 浏览器与 Web 服务器不在同一台机器上运行,请将 localhost 替换为 Web 服务器的主机名或 IP 地址。
  4. 要从命令行运行脚本,请保存文件。

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

更多详细信息请参阅此链接

于 2013-07-25T14:49:11.530 回答
0

下载这个,复制.dll到 PHP 文件夹并在php.ini文件中添加:

extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll
于 2016-07-18T01:40:53.373 回答