SAP 链接 MSS数据库DBCO abap NativeSQL
首先要保证 服务器上已经安装了驱动
1.DBCO新建链接 示例如下图
DBMS: MSS(表示mss 数据库 若为 Oracle 则不同 请搜索 Oracle的 链接信息)
连接信息填写:MSSQL_SERVER=(数据库内网IP) MSSQL_DBNAME=(数据库名) OBJECT_SOURCE=(数据库名)
2.测试是否连接成功
SE38 执行程序 :ADBC_TEST_CONNECTION
若链接成功 则如下图:
若链接失败原因 如下图
则请检查 DBCO配置信息 或请 BASIS 检查 服务器是否安装驱动
3.abap 代码连接
CONSTANTS: p_connr TYPE dbcon-con_name VALUE 'MSS_ZK'.
********************链接MSS数据库**********************************
TRY .
EXEC SQL.
CONNECT TO :P_CONNR
ENDEXEC.
IF sy-subrc = 0.
EXEC SQL.
SET CONNECTION :P_CONNR
ENDEXEC.
ELSE.
MESSAGE '连接中间库失败' TYPE 'S' DISPLAY LIKE 'E'.
LEAVE TO LIST-PROCESSING .
ENDIF.
CATCH cx_sy_native_sql_error.
MESSAGE 'Error in Native SQL' TYPE 'E'.
ENDTRY.
"abap读取mss数据库至内表 可参考链接:https://blog.csdn.net/liyi199488/article/details/9714807 或自行百度
”连接成功之后 abap将数据库 信息 获取至内表(代码仅供参考)
还有一种游标的处理方式 详情可百度
注意点: 若有功能性 或同一进程中 多个SQL语句 则需要 先commit work.
如果存在多条sql 同一进程中 BAPI中的 ROLLBACK 语句 会 影响 上面的EXEC SQL
"数据处理完成之后记得断开 MSS数据库
* *********************断开MSS数据库**********************************
EXEC SQL.
DISCONNECT :p_connr
ENDEXEC.