
在ABAP中如何使用native sql连接外部数据库?
sapR3版本是4.0,applicationserver有一台是在WINNT下面,其它的几台都在UNIX下.后台数据库为oracle.请教一下如何在ABAP中使用nat...
sap R3版本是4.0, application server有一台是在WINNT下面, 其它的几台都在UNIX下.后台数 据 库为oracle. 请教一下如何在ABAP中使用native sql连接外部数据库, 据说还要在application server上进行 相关设置. 哪位大侠能指点我一下, 给出基本步骤? 多谢! Mail: Wang.Bin2@inventec.com.cn
展开
3个回答
2013-06-09
展开全部
看来阁下对oracle很不熟悉,本人精通IBM DB2,oracle(写过3年多package for IFS ERP,做过oracle业务管理员,自写过RowID online backup 系统),MSSQL管理和编程序,对oracle管理备份有相当了解,熟悉各种unix系统,深入了解系统安全漏洞,IT网络,硬件,软件,ERP无所不精(就是什么都不精).........(其实全是吹的用来,都是懂一点..)...再吹就把楼主刮上天了,建立DBlink很简单,这些都小儿科,小case.....附送他人的文章一篇, 由于历史的原因,在多数企业都同时存在多个数据库平台,在每个数据库平台上都运行着相关的一套或多套应用。随着单位业务不断扩大,如何在不影响现有应用运行的前提下,快速有效地整合这些分布在单位内部不同数据库平台上的数据,是一个困扰CIO们的问题。面对这一问题,现有解决方案大致可分为以下两种:1.在应用程序上建立连接不同数据源的数据连接,这样做要求程序员分清哪个连接是对应哪个数据库的,而且如果设计时涉及到存储过程还要按照不同数据库的要求分别编写,加重了程序员的要求。2.在数据库中设立快照,定时把其他数据源的数据复制到本地数据库,这样虽然解决了前一种方法中不同数据源的问题,但是由于是定时复制,数据不能实时同步,在实时性要求高的应用中这种方法便不能使用。由于上述两种方法都存在一定的缺点,这里介绍一种Oracle提供的解决oracle数据库与异种数据源的连接问题的解决方案—Oracle的异构服务(Heterogeneous Services)。异构服务“异构服务”是集成在Oracle 8i数据库软件中的功能,它提供了从Oracle数据库访问其他非Oracle数据库的通用技术。熟悉Oracle的读者都很清楚,Oracle提供通过建立DB Link的方法访问非本地数据库,而“异构服务”提供通过建立DB Link使你能够执行Oracle SQL查询,透明地访问其他非Oracle数据库里的数据,就像访问Oracle远程数据库一样。“异构服务”分为两种:1. 事务处理服务(Transation Service):通过事务处理服务,使用户在访问非Oracle数据库中支持事务处理功能。2. SQL服务: 通过SQL服务,使用户直接在Oracle数据库中执行对非Oracle数据库的各种SQL语句。根据异构服务代理程序的不同,“异构服务”连接方式可以分为透明网关和通用连接两种。透明网关(Transparent Gateways) 透明网关使用Oracle提供的特定网关程序来设置代理,例如连接SQL Server则必须要有SQL Transparent Gateway for SQL Server。通用连接(Generic Connectivity) 通用连接又分为ODBC连接和OLE DB连接两种,其连接方法和透明网关没有本质区别,只不过通用连接是和数据库一起提供的功能,你不需要向Oracle购买相关的透明网关程序。连接实例这个实例的应用环境是Oracle 8.1.7,操作系统Windows 2000 Server英文版,采用通用连接的ODBC for SQL Server连接SQL Server 2000中文版。安装步骤如下:1. 安装HS部件。缺省情况下,HS服务是和Oracle 8.1.7一起安装的,你可以查询SYS用户下是否存在HS_BASE_CAPS视图,以确认HS部件是否安装,如果没有可以用相关的安装盘进行安装。2. 配置ODBC系统连接字。在控制面板选择“Data Sources (ODBC)”,在“系统DNS”内配置ODBC for SQL Server连接字(dnsora2sql)。3.配置tnsnames.ora,它位于ORACLE_HOME\NETWORK\ADMIN。在这个文件中增加如下代码:Lnk2sql =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1521)))(CONNECT_DATA =(SID = hs4sql) | select * from region@ora2sql;到此我们已经完成了使用ODBC连接SQL SERVER的配置工作。总体上说,异构服务扩展了Oracle数据库连接异种数据源的能力,加强了企业数据的整合,是一个快速有效经济地整合企业内部异构数据的解决方案。
2013-06-09
展开全部
DATA: F1(3), F2(3), F3(3).F3 = ' 1 '.EXEC SQL. OPEN C FOR SELECT CLIENT, ARG1 FROM AVERI_CLNT WHERE ARG2 = :F3ENDEXEC.DO. EXEC SQL. FETCH NEXT C INTO :F1, :F2 ENDEXEC. IF SY-SUBRC 0. EXIT. ENDIF. WRITE: / F1, F2.ENDDO.EXEC SQL. CLOSE CENDEXEC.如果是两个oracle数据库之间互相连接。 EXEC SQL. SELECT SUM(PROD_QTY) FROM TTUSERTB_PLAN@CSST INTO :PR_QTY WHERE WORK_ORDER = :ITAB-WORK_ORDER ENDEXEC.以上代码是 以用户 TTUSER访问 @CSST 中的TB_PLAN表,获得work_order,prod_qty这两个字段,count pr_qty是sap中变量,“:”是必不可少的,并且一定要在EXEC SQL. ENDEXEC. 中写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-09
展开全部
建立一个oracle dblink后不就可使用native sql了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询