$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、9 行目の /home/payomdousti/Developer/hana.php の SQLPrepare で SQL 状態 S1000
これを使用してphp odbcドライバーをインストールしました=> sudo apt-get install php5-odbc
PHP バージョン
PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (ビルド: 2012 年 9 月 12 日 18:59:41) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0、Copyright (c) 1998-2012ゼンド・テクノロジーズ
Rev38 SAP HANA の HDB ドライバーでわかるように、私は unixODBC を使用しています。
次のコードで 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()
PHP over ODBC 経由で接続することはビジネス要件です。私たちは SAP XS にアクセスできないので、これが本当に最良の選択肢です。RFC、SOAP、OData、または XMLA を使用したソリューションには興味がない