《SAPDBCO连接外部数据库方法》由会员分享,可在线阅读,更多相关《SAPDBCO连接外部数据库方法(6页珍藏版)》请在金锄头文库上搜索。
1、外部数据库的连接串示例(Tcode: DBCOSQL Server:DC ConnectionMYSQLDBMSmssUsersaDB passwordz匚onir infoMSSQL_SERVER=127,0.DAMSSQL_DeNAMElandahrrrPefrnanentFiConner tian Limitio nOptimum Conns0这里的连接信息很接近Sql Server的连接字符串,但是参数名略有不同。指定 主机IP、数据库名即可。DB2连接信息看上去比较直接,分别是数据库名、端口号、主机IP地址Oracel :连醪GAOKWKSDBMSORA用户喀称systemJ连接信息
2、OKCLWORLDPermanentComection Limit0Optimum Conns0连接信息比较隐晦,必须在 SAP应用服务器上安装Oracle Client ,然后设置 连接,并在这里将连接信息指定与连接名一致。为了防止乱码,我们还应该在链接信息后加如下参数:ZHS16GBK格式如下:ORCL.WORLD:ZHS16GBKMaxDBDB ConnectionHSPDBMS_ADAUser NameSAPWSPDB passwordConn, infoPWDF2788-MSPPermanentConnection LmitOptimum Connso 3MaxDB是 SAP自己的数
3、据库,这个连接则是NetWeaver Developer版中默认创 建的一个连接,其中的连接信息究竟代表什么,我也不甚清楚。访问外部数据库2011年4月12日14:37实例:SAP系统访问PeopleSoft数据库*& &*&定义常 量&*&*CONSTANT:S CNS_YGJK TYPE C LENGTH 10 VALUE HR9DEV.* 打开连接EXEC SQL.CONNECT TO :CNS_YGJKENDEXE.C* 获取人事数据TRY.EXEC SQL PERFORMINGPF_GET_RS.SELECT MANDT,ZID,OTYPE,INFTY,ZUPDATE,OPERA,Z
4、DATAINTO :WA_HR01-MANDT,:WA_HR01-ZID,:WA_HR01-OTYPE,:WA_HR01-INFTY,:WA_HR01-ZUPDATE,:WA_HR01-OPERA,:WA_HR01-ZDATAFROM z00hrjzlch01WHERE SAP_GET = ENDEXE.C* 处理人事数据IF IT_HR01 IS NOT INITIAL .LOOP AT IT_HR01 INTO WA_HR01.EXEC SQL.UPDATE z00hrjzlch01SET SAP_GET = XWHERE MANDT = :WA_HR01-MANDTAND ZID = :
5、WA_HR01-ZIDENDEXE.CIF SY-SUBRC = 0.* 更新ERP数据库表EXEC SQL.COMMITENDEXECMODIFY Z00HRJZLCH01 FROM WA_HR01.COMMIT WORKENDIF.ENDLOOPENDIF.*关闭连接EXEC SQLDISCONNECT :CNS_YGJKENDEXEC*获取异常CATCH CX_SY_NATIVE_SQL_ERRORNTO CL_EXEC_REF. EXIT.CATCH CX_SQL_EXCEPTIONINTO CL_SQLERR_REF.EXIT.ENDTRY*&FormPF_GET_ZZ*&*组织增量
6、数据*FORM PF_GET_ZZ .APPEND WA_HR02 TO IT_HR02.ENDFORM PF_GET_ZZ事务代码:DBCO查看,SAP系统现存的连接轰视陀L 潴歆宾到辿 迭樺运实用程帛桌袋(卫一卿助也)显奈视图数揣库连接的说明”;总览箜囲圄團區一连匡的皂祢loss 1永乂 1用户苕称Opt. Conns连接惜息IPWJYHORA匚buf_twjyfi0ODSAPP.WORLDDCODSORA匚bufjerpJo0DCODS.WORLDDCODS1ORAbuf kqdw00DCODS1-WORLD9DIVORAsgnt|o0HR9Oev,WORLDHR9DM0ORA 00HR
7、9DHO.wdRLDHR9UATORAP5OFT 00HR9UAT-WORLDHR9UAT.1ORA怙此 设苴崩户弓密码Jo0HTOUAT-WORLD0DSAPPORAnbuf_erp_EapJo0ODSAPP.WORLD if 悽信息ODSAPP-YCEXORA匚BUF_GBXJo0ODSAPP.WORLDDDSAPPLORA匚buf_erp0ODSAPP-WORLOOCSPF_HRORA厂buf_er|?_spHo0ODSAPP_HR, WORLDODSiFP_IIDORA厂buf.ftpHo0DCODSlAVOULJDOBSFSMDHORA厂buferppm0ODSAPP.WORLDPH
8、S.PRDORA厂buf_enpJo0ODSAPP-WORLDPMS_TSTORAbuf_erpJo0DCODS.WORLDYJZORAbuf_jizh|o0ODSAPP-WORLD程序中使用的是连接【HR9DEV.W0RLC】,双击这行如下图所示:先在SAP底层ORACLE数据库编辑TNS文件,一般由BASIS配置完成,配置路 径:DIR_ORAHOME-network-admin-tnsnames.ora ;配置完成后我们可以用事务 码:AL11查看配置是否正确,AL11查看连接【HR9DEV.WORLD具体配置DIR SETUPSu sr/ sa p; D 0 6/ SYS/profil
9、e1024 dOGadm 2010-11-2311:00:33oracle2320 d063dm 2011-03-0410:02:06tn&Fi3mes.0T3HR9DEV.WORLD =(DESCRIPTION =(ADDRESS LIST =(ADDRESS = (PROTOCOL = TCP) (HOST = 10. 15B. 252. 17) (PORT = 1521) )(COliMECT.DATA =(SERVICE_ME = HR9DEV)在ABAE中链接字段:PERFORM CONNECT_MSS USING Test; 接PERFORM DISCONNECT_DB USING Te吐:断开*链接SQLFORM CONNECT MSS USING Test.EXEC SQL,CONNECT TO :TestENDEXEC.IF SY-SUBRC = 0MESSAGE部分(或全部)數據琏接成功 TYPE11对数据库进行操作ELSE MESSAGE部分(或全部)數據链接失敗TYPEENDIF,ENDFORM.XONNECT_MSS记得要断开连接:束断开连接FORM DISCONNECT_DB USING Test.EXEC SQLDISCONNECT :TestENDEXEC.ENDFORM. DISCONNECT.DB