PHP访问SAP HANA数据库
来源:互联网 发布:java ojdbc6 编辑:程序博客网 时间:2024/06/05 07:30
最近接到一个项目,因为客户嫌LUMIA的 License太贵,用户又多,所以想用省钱的办法看SAP HANA的报表(B/S架构),所以给了用PHP做HANA报表的方案。
首先要考虑的是连接问题,原来我做项目时,都是优先考虑PHP ADODB组件,但PHP ADODB组件中没有封装HANA的驱动,所以就只好用ODBC的办法。
SAP HANA 的ODBC联接有很多坑,其实都是源于对HANA, Windows操作系统,PHP ODBC的 64bit, 32bit的概念模糊混淆所至。
这里要提到的第一个重点,就是PHP ODBC要联接SAP HANA数据库,必须要安装HANA ODBC client的 32 bit驱动,64bit的 ODBC 暂不支持,我已经测试了N遍不通,ODBC驱动安装完以后,在windows\SysWOW64\目录下打开odbc32.exe, 然后自行新建一个系统DSN,选择HDBODBC32驱动,输入ServerNode, 用户名,密码等信息,点connect,如果 OK, 那么恭喜你完成了第一步。
在讲第二个重点之前,我先说明一下我的开发环境 Windows2008 R2(64Bit)操作系统,PHP的环境我采用的是WAMP组件,这第二个重点就是必须安装32 Bit 的WAMP, 而不是64bit的,否则用odbc_connect函数时会报错,连接不上数据源。
安装好 WAMP环境后,写一个debug.php如下
$server_node=“192.168.2.11:30015”;
$db_name=“test01';
$conn = odbc_connect("Driver=HDBODBC32;ServerNode=$server_node;Database=$db_name;",$username,$password,SQL_CUR_USE_ODBC);
//这里要注意两点,直接连你建立的DSN名字是不行的,因为系统默认是去64bit的ODBC中去找DSN名字,所以这里的odbc_connect中要写完整的包括驱动名称的连接字符串,另外在最后加上游标类型 SQL_CUR_USE_ODBC
if($conn){
echo "so good! System connected";
}else{
echo "So bad! System cannot be connected!";
}
在浏览器中打开 http://localhost/testhdb/debug.php
如果你看到 so good! System connected, 那恭喜你,可以进行下面的开发了。
如果在开发中遇到一些问题,请参考我转载的两个英文帖,专门讲ODBC参数的。
希望能对有同类需求的朋友有所帮助,有问题欢迎交流。
- PHP访问SAP HANA数据库
- SAP HANA数据库安装
- SAP HANA内存数据库
- SAP HANA数据库安装
- SAP HANA数据库安装
- SAP Hana 数据库编程接口
- SAP HANA 数据库性能优化(SAP HANA DataBase Performance Tuning)
- php访问SAP Sybse SQL Anywhere 数据库
- SAP HANA: 列式内存数据库评测
- SAP HANA: 列式内存数据库评测
- SAP HANA: 列式内存数据库评测
- SAP HANA数据恢复技术:数据库备份
- NBA部署SAP HANA内存数据库
- SAP HANA数据库备份方式与工具
- SAP HANA
- SAP HANA
- sap hana
- 【SAP HANA】SAP HANA开篇
- 杭电 Euler theorem
- mac 下安装docker,在docker下安装oracle
- [ACL2017]Enhanced LSTM for Natural Language Inference
- 五步搞定Android开发环境
- 对于DW HR业务场景中大幅度更新维度的处理方式
- PHP访问SAP HANA数据库
- HDU 2602 Bone Collector
- mvc结构中webapi的使用
- Qt复制dll到系统盘system32下失败的解决方法
- Java8 学习笔记之一
- java 缓存Buffer学习
- Python: 你不知道的 super
- 线下活动【北京】敏捷开发:产品与项目管理实践讲座(免费)
- 新手理解Navigator的教程