克米亚sap论坛,中国最好的sap论坛,sap系统,sap培训,kemiya,克米亚,sap账号,sap ides,sap mm,sap hana,sap fico,sap pp

 找回密码
 注册
查看: 262|回复: 10

PHP 上用 SAP HANA 也很棒

[复制链接]
kmy 发表于 2018-3-30 15:27:19 | 显示全部楼层 |阅读模式
原文来自:PHP rocks on SAP HANA too! (Linux version)
如果你认识我,你就知道我不是玩Linux的人。不过,我也把我2007年买的 LG T1 Express Dual笔记本电脑装上了Linux。这台电脑还是当年我第一次参加SAP TechEd的时候买的。你肯定能够想象,慢慢杀死一台笔记本的最好办法就是给它装上Windows和越来越多的软件。所以,我的本本已经被我闲置很久了,直到我给它装上Ubuntu。它给我的本本带来了新生。  
人们的传说是对的:Linux在最垃圾,最古老的本本上都跑得风快。你看,我现在就在我的Linux上写这篇博客呢。  
几周以前我意识到我从来还没有写过在PHP上使用SAP HANA的文章,而很多人在尝试这么干时遇到一些问题。于是我写了一篇博客:PHP rocks on SAP HANA too!基于SAP HANA的PHP)。不过当时我是在Windows上面实现的,很多用户还在Linux下挣扎。所以,我该写这篇新博客了。
必须承认,没有 Ethan Zhang写的这篇伟大的博客:HANA with odbc on Ubuntu 12.04,我可能也还在配置的细节中挣扎。如论如何,作为了一个非Linux玩家,我想把配置的步骤和遇到的问题以及如何解决的都记下来会是个好主意。
当然,我的Linux上可没装PHP。所以,第一步就是安装PHP。不过我不想花太多时间去分别安装各个组件,所以我用LAMP
安装LAMP:
$ sudo apt-get install tasksel$ sudo tasksel install lamp-server运行完这两个命令以后,PHP就能用了。所以下一步就是安装SAP HANA 客户端。(32位Linux版)
现在,我们需要连到SAP HANA服务器。unixODBC是最好的选择。
安装unixODBC:
$ sudo apt-get install unixODBC unixODBC-dev装好以后就该配置ODBC连接了:
$ sudo vi odbc.ini[HDB]driver = /usr/sap/hdbclient32/libodbcHDB32.soServerNode = hana_server:30115好了,现在测试一下连接:
$ isql -v HDB SYSTEM manager在这里我遇到一个出错信息,说找不到libodbcHDB32.so因为文件目录不存在。很奇怪,我决定查一下它的依赖性:
$ ldd /usr/sap/hdbclient32/libodbcHDB32.so这个命令告诉我系统里找不到 libaio.so。所以,在Ubuntu Software Center里安装:

装好后isql就能运行成功了。下面我偷个懒,从我另外一个博客里拷来这段代码PHP_HANA.php:
<?php$conn = odbc_connect("HDB","SYSTEM","manager",SQL_CUR_USE_ODBC);if (!($conn)){          echo "<p>Connection to DB via ODBC failed: ";        echo odbc_errormsg ($conn);        echo "</p>\n";}else{          if(isset($_POST["CARRID"]) == false){                  $sql = "SELECT CARRID, CARRNAME FROM SFLIGHT.SCARR WHERE MANDT = 300";               $rs = odbc_exec($conn,$sql);               print("<DIV ALIGN='CENTER'>");               print("<H1>SAP HANA from PHP</H1>");               print("<FORM NAME='Get_Data' ACTION='$_SERVER[PHP_SELF]' METHOD='POST'>");               print("<SELECT NAME='CARRID'>");               while($row = odbc_fetch_array($rs)){                     $carrid = $row["CARRID"];                     $carrname = $row["CARRNAME"];                     print("<OPTION VALUE='$carrid'>$carrname");               }        print("</SELECT>");        print("<INPUT TYPE='SUBMIT' VALUE='Get Data'>");        print("</FORM>");        print("</DIV>");        }        else{                  $carrid_param = $_POST["CARRID"];                $sql = "SELECT * FROM \"_SYS_BIC\".\"blag/AV_FLIGHTS\"                        WHERE CARRID = '$carrid_param'";                $rs = odbc_exec($conn,$sql);                print("<DIV ALIGN='CENTER'><TABLE BORDER=1>");                print("<TR><TH>MANDT</TH><TH>CARRID</TH><TH>CONNID</TH>                       <TH>COUNTRYFR</TH><TH>CITYFROM</TH>                       <TH>AIRPFROM</TH><TH>COUNTRYTO</TH>                       <TH>CARRNAME</TH><TH>DISTANCE</TH></TR>");                while($row = odbc_fetch_array($rs)){                          $mandt = $row["MANDT"];                $carrid = $row["CARRID"];                $connid = $row["CONNID"];                $countryfr = $row["COUNTRYFR"];                $cityfrom = $row["CITYFROM"];                $airpfrom = $row["AIRPFROM"];                $countryto = $row["COUNTRYTO"];                $carrname = $row["CARRNAME"];                $distance = $row["DISTANCE"];                print("<TR><TD>$mandt</TD><TD>$carrid</TD>                         <TD>$connid</TD><TD>$countryfr</TD>                         <TD>$cityfrom</TD><TD>$airpfrom</TD>                         <TD>$countryto</TD><TD>$carrname</TD>                         <TD>$distance</TD></TR>");               }               print("</TABLE>");               print("<A HREF='PHP_HANA.php'>Go Back</A></DIV>");          }}?>运行一下:


你看到了,不是很困难吧,对一个Windows玩家来说也是
hary02 发表于 2018-4-10 06:51:51 | 显示全部楼层
sap ides
alpsan 发表于 2018-4-24 12:42:13 | 显示全部楼层
sap mm
ideogeViexede 发表于 2019-1-5 09:59:33 | 显示全部楼层
SAP新闻
playuno 发表于 2019-1-15 19:28:06 | 显示全部楼层
SAP 微信群
桑巴舞 发表于 2019-2-1 12:23:35 | 显示全部楼层
sap是什么意思
雨冰 发表于 2019-2-18 11:08:29 | 显示全部楼层
中国最好的sap论坛
海棠 发表于 2019-2-28 17:43:13 | 显示全部楼层
sap练习环境
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|克米亚sap论坛,sap账号,sap系统,sap ides,sap学习机,sap练习环境 ( 渝ICP备18002525号-5 )

GMT+8, 2019-3-19 04:26

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表