• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
^ω^SAp傻X^o^
博客园    首页    新随笔    联系   管理    订阅  订阅
SAP连接HANA数据库

既然都用HANA了,为什么还要在SAP端,连接HANA数据库,做数据库处理。。。。。

因为HANA数据库,没个用户在STADIO上建的数据库表。。。只能这个用户使用,而做Universe 设计的时候,最简单的就是直接用表。。。(但是SAPDEV这里表太多了,用起来太麻烦,所以。。。)

 

 

1.DBCO连接

DB 连接            HDB
DBMS               HDB
用户名             ZYUSER
数据库口令                                        /
连接信息           192.168.2.106:30015

连接限制           0
最佳连接           0

 

然后SE38运行ADBC_TEST_CONNECTION,选择HDB测试连接

如果此处不通。。。呵呵哒,自己找原因

 

 

2.

*&---------------------------------------------------------------------*
*& Report  ZHDB01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZHDB01.


DATA:LC_CONN TYPE REF TO CL_SQL_CONNECTION.
DATA:LC_STATE TYPE REF TO CL_SQL_STATEMENT.
DATA:LC_EXCEP TYPE REF TO CX_SQL_EXCEPTION.
DATA:LC_RESULT TYPE REF TO CL_SQL_RESULT_SET.
DATA:LV_STATE TYPE STRING.









"建立连接
TRY.
    CALL METHOD CL_SQL_CONNECTION=>GET_CONNECTION
      EXPORTING
        CON_NAME = 'HDB'
*       SHARABLE = SPACE
      RECEIVING
        CON_REF  = LC_CONN.
  CATCH CX_SQL_EXCEPTION .
ENDTRY.


"Creates a Statement Object for this Database Connection

CALL METHOD LC_CONN->CREATE_STATEMENT
*  EXPORTING
*    TAB_NAME_FOR_TRACE =
  RECEIVING
    STMT_REF = LC_STATE.


"set parameter
*TRY.
*    CALL METHOD LC_STATE->SET_PARAM
*      EXPORTING
*        DATA_REF =
**       POS      = 0
**       IND_REF  =
*        INOUT    = CL_SQL_STATEMENT=>C_PARAM_IN
**       IS_LOB   = SPACE
*      .
*  CATCH CX_PARAMETER_INVALID .
*ENDTRY.

LV_STATE = 'INSERT INTO ZLYTEST01 VALUES(''600'',''1200'',''01'',''04'',''ZC00'',''01'',''1000A01'',''13457.89'',''45678.89'')'.

TRY.
    CALL METHOD LC_STATE->EXECUTE_QUERY
      EXPORTING
        STATEMENT  = LV_STATE
*       HOLD_CURSOR = SPACE
      RECEIVING
        RESULT_SET = LC_RESULT.
  CATCH CX_SQL_EXCEPTION .
  CATCH CX_PARAMETER_INVALID .
ENDTRY.





TRY.
    CALL METHOD LC_CONN->COMMIT.
  CATCH CX_SQL_EXCEPTION .
ENDTRY.

 异常消息没处理。。。自己找类,自己玩。。。

^_^很多人都把资料锁进了note里,以后还怎么百度呢^_^
posted on 2016-07-22 15:35  ^ω^SAP傻X^o^  阅读(4217)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3