如何从SAP中连接其他数据库

来源:互联网 发布:真爱西西里香水知乎 编辑:程序博客网 时间:2024/04/30 03:18
 
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.

notes: https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=178949&nlang=EN&smpsrv=https%3a%2f%2fwebsmp103%2esap-ag%2ede

原创粉丝点击