SAP通过DBLink直接访问Oracle数据库

2018-10-28 17:40

DBLINK设定的数据

1. 用TCode: DBCO设定数据联接

Oracle连接配置如下

2. 程序示例

REPORT ytest.

CONSTANTS: con(20) TYPE c VALUE 'PFSTEST'.

DATA: lv_str TYPE string,

lr_ex TYPE REF TO cx_root. DATA: BEGIN OF lt OCCURS 0, uuid(10), pt_type(4),

balance TYPE p DECIMALS 2, END OF lt.

DATA: \ ls LIKE LINE OF lt.

EXEC SQL .

CONNECT TO :con ENDEXEC.

IF sy-subrc <> 0.

MESSAGE '连接失败' TYPE 'E'. EXIT. ENDIF.

EXEC SQL.

SET CONNECTION :con ENDEXEC. TRY.

EXEC SQL.

OPEN dbcur FOR

SELECT UUID, PT_TYPE, BALANCE FROM YTEST ENDEXEC.

DO.

EXEC SQL.

FETCH NEXT dbcur into structure :ls package size 1000 ENDEXEC.

IF sy-subrc IS INITIAL. APPEND ls TO lt. ELSE. EXIT. ENDIF. ENDDO.

EXEC SQL. CLOSE dbcur ENDEXEC.

CATCH cx_root INTO lr_ex. ENDTRY.

EXEC SQL.

SET CONNECTION 'DEFAULT' ENDEXEC.

EXEC SQL.

DISCONNECT :con ENDEXEC.

转载另一个更新程序:

CONSTANTS: con(20) TYPE c VALUE ' CONSTRING'. EXEC SQL.

SET CONNECTION :con ENDEXEC.

IF sy-subrc <> 0. EXEC SQL .

CONNECT TO :con ENDEXEC.

IF sy-subrc <> 0.

MESSAGE '连接失败' TYPE 'E'. EXIT. ENDIF. ENDIF.

EXEC SQL.

DELETE FROM DB2INST1.EXAMPLEDATA where FinComCode = :lc_bukrs and FinDate = :lc_spmon

ENDEXEC. ENDLOOP.

CALL FUNCTION 'DB_COMMIT'. EXEC SQL.

INSERT INTO DB2INST1.LFFINBASE

( FinComCode,ItemCode,ReportDate,StatValue,MakeDate,MakeTime,FinDate ) VALUES ( :lc_bukrs,:lc_zhbbm,:lc_budat,:itab_021-dmbtr,:lc_datum,:lc_uzeit,:lc_spmon ) ENDEXEC. ENDLOOP.

CALL FUNCTION 'DB_COMMIT'.

EXEC SQL.

SET CONNECTION 'DEFAULT' ENDEXEC.


SAP通过DBLink直接访问Oracle数据库.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:1-5章作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: