问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

极限挑战: 如何在ABAP中使用native sql连接外部数据库?

发布网友 发布时间:2022-04-07 18:08

我来回答

2个回答

懂视网 时间:2022-04-07 22:29

 1.工作环境需求

    A. The operating system user <sid>adm must be able to log on to the secondary database.

    B. The R/3 table DBCON must be maintained.

    C. The correct database library ‘dboraslib.<ext>‘ must exist in the kernel directory. 
Connect  to SQL Server database Prerequisite: At least one Windows application server must be available on the R/3 system and the DBSL dynamic library (DLL) dbmssslib.dll must be installed on this server. This dll can be downloaded from the SAP Service Marketplace.

dbmssslib.dll

2. 配置连接信息

配置TCODE: dbco

任何配置信息都存储在DBCON表中.

配置示例:

A.访问MSSQL的配置示例(参见SAP Notes 178949)

CON_NAME: <my_conn_name>
DBMS: MSS
USER_NAME: <db_user>
PASSWORD:  <password>
CON_ENV: MSSQL_SERVER=<server_name> MSSQL_DBNAME=<db_name>

   db_user could be sapr3 for example if the server is running R/3.  The password field may be blocked from view by asterisks in sm30. USER_NAME can be left blank in order to use integrated security (4.6d kernel and later).  In that case make sure that the OS User running R/3 has the required privilege on the remote server.  A dummy password must be entered in sm30, it will not be used when the user name is blank.
Specifying the server name

           The server name is simply the name of the SQL Server or named instance i.e. the hostname (for a default instance), or <host>/<instname>
Starting with release 6.40 however there are some special considerations that should be taken into account.  When running with kernel release 6.40 or later, the R/3 system will prepend a protocol specifier to the server name.  Example:
   1. For a server running on the same server:
            np:<servername>
  2. For a remote server:
            tcp:<servername>
This forces the connection to be made with a named pipes and tcp/ip protocols respectively.
When specifying the server name you can override this by setting your own protocol (tcp: or np:), or you can make R/3 avoid setting any prefix by using simply :<servername> - a colon in front of the server name.

B.访问ORACLE的配置示例()

   Connection name        logical name of the connection

     DBMS                   ORA

     User name              Oracle users

     DB password            password for the above-mentioned Oracle user

     Conn.info              TNS alias

     Permanent              Usually should not be set for a secondary connection.

 

3.       程序中如何使用

例程一
report zdbcon .
data: dbn(128).
EXEC SQL.
CONNECT TO ‘DAN1‘
ENDEXEC.
EXEC SQL.
SET CONNECTION ‘DAN1‘
ENDEXEC.
EXEC SQL.
SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
write: / ‘current database name‘, dbn. 
DAN1在DBCON表中配置
CON NAME DAN1 
DBMS MSS 
USER NAME iis_log 
PASSWORD CON ENV 
MSSQL_SERVER=tcp:###.###.###.### MSSQL_DBNAME=iislog 


例程二
Here is an example for how to connect to another server with CON_NAME=BSK.  The example assumes BSK is running R/3:

 EXEC SQL.
  CONNECT TO ‘BSK‘
ENDEXEC.
EXEC SQL.
  SET CONNECTION ‘BSK‘
ENDEXEC.
EXEC SQL.
  SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
WRITE: / ‘current database name‘, DBN.
EXEC SQL.
  SET CONNECTION DEFAULT
ENDEXEC.
EXEC SQL.
  SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
WRITE: / ‘current database name‘, DBN. 

abap直连第三方数据库(sqlserver,oracle)

标签:abap直连第三方数据库sqlserve   oracle   abap 直连第三方数据库   abap 操作第三方数据库表   

热心网友 时间:2022-04-07 19:37

At least one Windows application server must be available on the R/3 system and the DBSL dynamic library (DLL) dbmssslib.dll must be installed on this server. 但是这个怎么构建呀? 查看更多答案>>

求采纳
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? 怎样测电动车充电器变压器引脚电压? 用便的多音字组词 眼保仪的产品功能 便有几个读音? new face眼部按摩仪可以每天使用吗? 便的多音字组词和拼音 我的电动车充电器是48v,怎么用万能表测量输出的电压是55.9,这样正常吗? 70多岁的老人总怀疑老伴有外遇可怎么办? “便”这个多音字能组成哪些词? 408计算机专业课与912的区别 你是锦瑟,我为流年五六年级暑假读合适吗? “便”的多音字如何组词? 白落梅的《 你是锦瑟 我为流年 》txt下载 贷款所需收入证明包括哪些内容 便的多音字组词 77老人出轨犯法吗? “便”的多音字组词,要两个.快! 八十多岁老人总是说老伴出轨是什么情况? 如果用眼部按摩仪,请问经常用好吗? 父亲七十岁有外遇离家出走怎么办 用万能表怎么测电动车充电器的输出电流 长时间看着电脑屏幕,急需护眼仪续命,大家有推荐吗? 电动车充电器整流 滤波出来的电压是多少伏,怎么用万用表测量出来 舒力动感智能护眼仪有用吗?真的能改善和治疗近视吗? 电动车充电器输出电压怎么检测 夏普加湿型空气净化器,显示湿度低,给水灯闪烁 打工人长期盯着电脑,求推荐护眼仪 夏普空气净化器老是红红的 怎样调电动车充电器电压 飞利浦空气净化器水箱有水为什么注水指示灯显示红色 护眼仪能治疗近视吗? 净水器的三个灯亮红灯 夏普的空气净化器异味亮红灯 夏普日版的KC-B70-W 空气净化器 加水灯就是不灭,什么情况 净水器为什么换了内芯还显示红灯 空气净化器指示灯一直红色了,怎么回事 SHARPKC-W380SW-W 滤网维护保养的红灯亮如何处理,需要换滤网吗 夏普kc-bb20-w空气净化器 滤网负位亮红灯 是什么意思 夏普夏普 KC-E70W 空气净化器上 显示红色的PM2.5 夏普空气净化器显示屏室尘检测器绿色和红色什么意思