首页 文章

php odbc hana hdb错误

提问于
浏览
0
$db_name = "hana";
$username = "SYSTEM";
$password = "my_real_password";

$conn = odbc_connect($db_name, $username, $password) or die(odbc_error_msg()); 
$sql = "SELECT REGION_NAME, SUM(SALES_AMOUNT) FROM \"_SYS_BIC\".\"mydemo/CV_SALES\" GROUP BY REGION_NAME"; 
$result = odbc_prepare($conn, $sql);

odbc_close($conn);
  • 我已经确认它连接了 .

  • 当我运行$ result = odbc_prepare($ conn,$ sql);它抛出了我这个错误

PHP警告:odbc_prepare():SQL错误:[unixODBC] [SAP AG] [LIBODBCHDB SO] [HDB]一般错误; -10808功能(SCROLLABLE RESULT)尚未在模块中实现:/ HDB / IMP / NewDB100_REL / src / // sys / src / Inter,SQLPrepare中的SQL状态S1000位于第9行的/home/payomdousti/Developer/hana.php

我用这个来安装php odbc driver => sudo apt-get install php5-odbc

PHP Version

PHP 5.3.10-1ubuntu3.4与Suhosin-Patch(cli)(内置:2012年9月12日18:59:41)版权所有(c)1997-2012 PHP Group Zend Engine v2.3.0,Copyright(c)1998- 2012年Zend Technologies

我正在使用unixODBC,你可以看到Rev38 SAP HANA的HDB驱动程序 .

  • 我能够使用pyodbc使用以下代码在Python中成功准备和执行查询 .
import pyodbc
conn = pyodbc.connect('DSN=hana;UID=SYSTEM;PWD=my_real_password')
cursor = conn.cursor()
cursor.execute("SELECT REGION_NAME, SUM(SALES_AMOUNT) FROM \"_SYS_BIC\".\"mydemo/CV_SALES\" GROUP BY REGION_NAME")
print cursor.fetchall()
conn.close()

通过ODBC通过ODBC连接是一项业务需求 . 我们无法访问SAP XS,因此这是最佳选择 . 我对使用RFC,SOAP,OData或XMLA的解决方案不感兴趣

1 回答

  • 0

    根据您的错误,您使用的SAP HDB驱动程序看起来不支持可滚动游标 . 您是否尝试过创建不可滚动(仅向前)的游标?

    例如,在Microsoft SQL Server中,您必须将 SQL_ATTR_CURSOR_TYPE 设置为 SQL_CURSOR_FORWARD_ONLY .

相关问题