help:有没有好方法在ABAP中读取外部数据库,如SQLSERVER等?

如题所述

第1个回答  2013-08-30
有! 首先在SAP APPLICATION SERVER端建立与数据库的通信,如安装相应的客户端程序及联接别名; 再用SM30维护DBCON表,输入数据库联接信息; 最后就可以在程序中用NATIVE SQL语句对数据库操作了。
第2个回答  2013-08-30
我在IDES中尝试联接外部ORACLE数据库,测试不成功。请大侠详细指点,不胜感激! 1、IDES是一台NT机,上面安装了ORACLE客户端,联接到一台ORACLE的数据库,联接名为TEST,通 过SQLPLUS可以联接成功。 2、DBCON中添加了一条记录:连接名TEST,DBMS:ORA,用户名称:DEV1,数据库口令:XXXX,联接信 息:OK,永久(打勾)。 3、abap: SELECT SINGLE * ?FROM DBCON INTO ?CON. ? ? ?W_CON_NAME = 'TEST'. ? ? ?CON-PASSWORD = 'auready2go'. ? ? ?exec sql. * ? ? ?CONNECT TO ?:CON-CON_NAME ? ? ? ?set connection :CON-CON_NAME ? ? ? ?endexec. ?if sy-subrc 0. ? ?exec sql. ? ? ?connect to :CON-CON_NAME ? ? ?endexec. ?endif. * ? ? ?EXEC SQL. * ? ? ? ?CONNECT TO :W_CON_NAME * ? ? ? ?CONNECT TO : 'TEST' * ? ? ?ENDEXEC. ? ? ?IF SY-SUBRC 0. ? ? ? ?ls_c = 'connect TEST ?ERROR'. ? ? ? ?message id 'ZBC400_04_MESSAGE' type 'I' number '002' with ls_c. ? ? ?else. ? ? ? ?EXEC SQL. ? ? ? ? ?select count(*) into :li ?from itemmster ? ? ? ? ? ? where compcode = 'NPZ' and itemtype = 'R' ? ? ? ?ENDEXEC. ? ? ? ?skip. ? ? ? ?write li. ? ? ?endif.
第3个回答  2013-08-30
老兄你对这个问题有没有看懂?test是连接名。
第4个回答  2013-08-30
各位大哥,能不能取出多行的数据?我想使用游标,但是不知道怎么用?哪位高手请指点?

help:有没有好方法在ABAP中读取外部数据库,如SQLSERVER等?
有! 首先在SAP APPLICATION SERVER端建立与数据库的通信,如安装相应的客户端程序及联接别名; 再用SM30维护DBCON表,输入数据库联接信息; 最后就可以在程序中用NATIVE SQL语句对数据库操作了。

SAP AMDP介绍 - ABAP托管的HANA数据库过程
AMDP实现体被封装在一个特殊的ABAP类方法中,该方法声明特定接口(IF_AMDP_MARKER_HDB),告知编译器和运行时它是一个AMDP容器。使用AMDP,ABAP开发人员能够将部分计算逻辑下推到数据库层,这有利于提升应用的性能。具体的实现方法允许ABAP开发人员在SAP GUI中读取源代码,而修改则需要通过ABAP Development...

相似回答
大家正在搜