连接 SAP Hana 数据库时调用未定义函数 odbc_connect() 消息
Posted
技术标签:
【中文标题】连接 SAP Hana 数据库时调用未定义函数 odbc_connect() 消息【英文标题】:Call to undefined function odbc_connect() message while connecting SAP Hana database 【发布时间】:2013-07-25 11:05:52 【问题描述】:我在我的 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地址=54.217.234.218
谁能帮帮我? 谢谢
【问题讨论】:
你检查 php.ini 文件吗? 听起来你需要定义 odbc_connect :\ 如果它在远程服务器上运行,那么我该如何更改它? 请阅读:clearfoundation.com/component/option,com_kunena/Itemid,232/… 如何定义 odbc_connect? :) 【参考方案1】:我刚刚在 google 中获取 this instruction 这对你真的很有帮助。
-
Download the SQL Server ODBC driver for your PHP client
platform.(需要注册。)如果 SQL Server ODBC 驱动程序
目前不适用于您的平台,请查看ODBC-ODBC Bridge Client platforms 的列表。 ODBC-ODBC 桥是一个
Easysoft 的替代 SQL Server 解决方案,您可以
从此网站下载。
在计算机上安装 SQL Server ODBC 驱动程序并获得许可
已安装 PHP。有关安装说明,请参阅 ODBC 驱动程序
文档。请参阅文档以查看哪个环境
您需要设置的变量
(LD_LIBRARY_PATH, LIBPATH, LD_RUN_PATH,
SHLIB_PATH depending on the driver, platform and linker).
在/etc/odbc.ini
中创建一个连接到
SQL Server database
你想从 PHP 访问。例如,这个
SQL Server ODBC 数据源连接到 SQL Server Express 实例
为 Northwind 数据库提供服务:
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);
?>
-
替换
data_source_name, database_username and database_password
使用您的 SQL Server ODBC 数据源、登录名和密码。
要在 Apache 下运行脚本,请将文件保存在您的 Apache 网站下
服务器文档根目录. For example,
/var/www/apache2-default/php-mssql-connection.phtml. Then view the
file in a web browser:
http://localhost/php-mssql-connection.phtml
如果您的 Web 浏览器与 Web 不在同一台计算机上运行
server,将 localhost 替换为 Web 服务器的主机名或 IP
地址。
要从命令行运行脚本,请保存文件。
例如, /tmp/php-mssql-connection.php。然后运行 $php /tmp/php-mssql-connection.php.
更多详情请参考LINK
【讨论】:
【参考方案2】:下载this,将.dll
复制到PHP文件夹并在php.ini
文件中添加:
extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll
【讨论】:
以上是关于连接 SAP Hana 数据库时调用未定义函数 odbc_connect() 消息的主要内容,如果未能解决你的问题,请参考以下文章
[SAP HANA] SAP HANA 管理员连接不上, 连接超限 保留管理员连接
SAP HanaXFILE:SAP Hana CDS 开发简介
更新到 Laravel 5.3 后播种时调用未定义的方法 Illuminate\Database\Query\Builder::lists()