使用PHP应用查询SAP HANA Express Edition里的数据

举报
汪子熙 发表于 2022/03/28 18:54:01 2022/03/28
【摘要】 前提:64位的PHP runtime和64位的Apache Web server已经安装完毕。我们需要使用SAP HANA ODBC database drivers将PHP runtime和SAP HANA Express Editor进行连接,在SAP官网进行下载。打开链接https://tools.hana.ondemand.com/,点击HANA标签页,下载SAP HANA Clie...

前提:64位的PHP runtime和64位的Apache Web server已经安装完毕。

我们需要使用SAP HANA ODBC database drivers将PHP runtime和SAP HANA Express Editor进行连接,在SAP官网进行下载。

打开链接https://tools.hana.ondemand.com/,点击HANA标签页,下载SAP HANA Client 2.0并安装:

打开ODBC Data Source administrator:

如果此处看到了HDBODBC驱动,说明SAP HANA client已经成功安装:

在此处指定使用HDBODBC连接的SAP HANA Express地址:

点击Connect按钮,输入SYSTEM用户的密码:

ODBC配置完毕如下图:

在apache web server的安装文件夹下,打开htdocs文件夹,新建一个hxe文件夹,在里面创建一个index.php文件:

<?php
    $datasource = "hxe";
    $servername = "hxehost:39013";
    $username   = "SYSTEM";
    $password   = "********";

    $conn   = odbc_connect($datasource, $username, $password, SQL_CUR_USE_ODBC);

    if (!($conn)) {
        exit("Connection Failed: " . $conn);
    } else {
        $sql = 'SELECT "name" FROM food_collection';
        $rs  = odbc_exec($conn,$sql);

        if (!$rs) {
            exit("Error in SQL");
        }
?>
<table>
    <tr>
        <th>Food Name</th>
    </tr>
<?php		
        while (odbc_fetch_row($rs)) {
            $foodName = odbc_result($rs,"name");
?>
    <tr>
        <td>
            <?php echo $foodName ?>
        </td>
    </tr>
<?php
        }
?>
</table>
<?php
        odbc_close($conn);
    }
?>

在浏览器里打开这个php文件,会执行里面的php代码,通过ODBC发起对SAP HANA Express的数据查询,并将结果显示到浏览器里:

在CloudFoundry环境的Service Market里找到Mobile Services,启用之后,

点击Support,进入mobile services的控制台:

我们要在Neo环境的WebIDE里控制CloudFoundry环境的mobile服务,因此需要创建Destination,指向CloudFoundry mobile services的admin url:

Neo环境里创建一个Destination:

将mobile service控制台里的admin API url拷贝下来,

粘贴到Neo Destination的url字段里:

确保Check Connection连接成功。

如图,我使用OData服务创建Lead,如果请求正文payload只维护lead的名称,

会收到错误消息:Party Prospect Party missing, please entera party with role Account.::Account is missing.

同时,在SAP Cloud for Customer Business configuration的fine tuning里,也能看到Lead Account字段是必填的,没有办法改成optional:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。