ABAP直接连接并读取SQLServer

ABAP直接连接读取SQLServer数据库
1、首先建立数据库连接。进入 T-Code:DBCO 修改视图:数据库连接。进入编辑模式,点击“新条目”,创建一个数据库连接:
匹配滤波器
连接名:自定义连接名称
DBMS:选择MSS
用户名称:数据库连接用户名
连接信息:MSSQL_SERVER=服务器名或IP MSSQL_DBNAME=数据库名称
之后保存即可。
2、程序中应用。
连接数据库
1
2
3
4
5
6
7
8
9
10
11
12
DATA: DBS TYPE DBCON-CON_NAME VALUE 'GSTAR_HR'.
 
EXEC SQL.
  CONNECT转基因快速检测仪 TO :DBS
ENDEXEC.
 
IF SY-SUBRC = 0.
  MESSAGE '数据库连接成功' TYPE 'S'.
  " 这里插入处理过程
ELSE.
  MESSAGE '数据库连接失败' TYPE 'S'.
ENDIF.
多条数据读取:游标
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DATA F1(12).
 
EXEC SQL.
  OPEN C1 FOR SELECT TOP 5 EMPLOYEENO FROM PERSONAL
ENDEXEC.
 
DO.
  EXEC SQL.
    FETCH NEXT C1 INTO :F1
  ENDEXEC.
  IF SY-SUBRC <> 0.
    EXIT.
  ENDIF.
  WRITE:/ F1.
ENDDO.
 
EXEC SQL.
  CLOSE C1
ENDEXEC.
多条数据读取:过程处理
1
2
3
4
5
6
7
8
9
DATA: D1(8), D2(10), D3(20), D4(20).
 
EXEC SQL PERFORMING ProcessSQL.
  SELECT EMPLOYEENO, NAME, DEPART, TEAM FROM PERSONAL INTO :D1, :D2, :D3, :D4
ENDEXEC.
 
FORM ProcessSQL.
  WRITE:/ D1, D2, D3, D4.
ENDFORM.                    "ProcessSQL
多条数据读取:过程处理 - 内表(Native SQL 每次只能处理一条记录)
1
2
3
4
5
mss6
7
8
9
10
11
12
13
14
DATA:BEGIN OF IT_TAB OCCURS 0,
  EMPLOYEENO(12),
  NAME(10),
  DEPART(20),
  TEAM(20),
END OF IT_TAB.新药开发
 
EXEC SQL PERFORMING ProcessSQL.
  SELECT 知网EMPLOYEENO, NAME, DEPART, TEAM FROM PERSONAL INTO :IT_TAB-EMPLOYEENO, :IT_TAB-NAME, :IT_TAB-DEPART, :IT_TAB-TEAM
ENDEXEC.
志愿者返乡被骂哭 
FORM ProcessSQL.
  APPEND IT_TAB.
ENDFORM.                    "ProcessSQL
数据读取:存储过程(存储过程只能通过 output 类型的参数来返回结果,查询表时并不方便。不能应用 PERFORMING 过程)
1
2
3
4
5
6
7
DATA: O1 TYPE I.
 
EXEC SQL.
  EXECUTE PROCEDURE web_Affiche_GetListCountTEST ( IN :'', OUT :O1 )
ENDEXEC.
 
WRITE:/ O1.

本文发布于:2024-09-20 18:28:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/717765.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:连接   数据库   过程   读取   处理   数据   返回   进入
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议