SAP是否有标准的方法将其数据库与外部各方连接?网站svc?

时间:2011-03-11 12:34:02

标签: .net sap sap-erp

我很快就会为公司项目工作 这将开发自定义.net应用程序 将与SAP ERP系统集成。

我几乎对SAP一无所知,所以我在网上做了一些研究 并发现它支持多种类型的数据库。

我想知道的是,

  

我可以通过ado.net直接读取SAP表吗?

     

或者是网络svc背后的数据库?

     

或者它是否未确定,因为它取决于SAP系统的实施方式?

在知道SAP不限于任何特定类型的db

之后,第三个q出现在我的脑海中

THX!

4 个答案:

答案 0 :(得分:6)

由于SAP数据库表位于普通DBMS中:是的,您可以使用ADO.NET读取它们。然而,我的经验是,SAP人员不太喜欢这一点 您还可以通过ERPConnect以及其他人支持的RFC读取表格。这很可能是最佳选择 第三种方式是返回所需数据的专用RFC组件。

答案 1 :(得分:4)

您通常不直接与SAP系统的数据库交互,这是不好的做法(甚至可能使您的支持合同无效 - 请小心)。有许多不同的方法可以调用SAP功能,具体取决于它的实现方式/部署的功能。

SAP ERP通常与ABAP堆栈和J2EE堆栈一起部署。

对于ABAP部分,RFC是最“本地”形式的连接IMO。 SAP为C,C ++和Java提供了一个RFC库,也可能是其他语言。我很确定你能找到适合你最喜欢的.Net语言的东西。

对于Java方面,现在有很多可用的选项,就像现在几乎所有基于J2EE的东西一样(Web服务,肥皂......)。

答案 2 :(得分:2)

您不能直接阅读SAP ERP表,如果您不想崩溃系统,请务必不要写。由于可能存在安全漏洞,因此在企业环境中不允许此操作。公司的安全部门将禁止此类活动。 SAP系统基于严格定义的安全规则构建。通常,SAP用户通过报告或程序与DB数据交互,每个报告/程序依次具有用于授权检查的子程序。报告经常(总是)通过事务进行,事务也有安全检查。因此,如果您没有足够的权限,您甚至无法查看受数据保护的数据,那就很可靠了。因此,除了官方的SAP .NET连接器之外,您实际上无法实现SAP / .NET互操作性。在junuary发布了第3版,与以前的版本相比,它更适合开发人员使用。祝好运!

PS:最有可能在SAP端编写特殊的FM(功能模块)以简化互操作性

答案 3 :(得分:1)

我没有使用.net,但是我的Python Web应用程序使用ODBC连接直接从SAP的表中读取数据。是的,这是可能的。

更新:我们的SAP将其数据存储在SQL Server数据库中......我现在意识到并非所有安装都以这种方式设置。 a reference