我将很快为一个公司的项目工作,这将开发一个自定义的.net应用程序,将与SAP系统集成。
我对SAP几乎一无所知,所以我在网络上做了一些研究,发现它支持多种类型的数据库。
我想知道的是:
我可以通过ado.net直接阅读SAP表格吗? 或者是web服务背后的数据库? 还是因为它取决于SAP系统是如何实现的?
(我想到了第三个问题,因为我知道SAP并不局限于任何特定类型的数据库)
发布于 2011-03-11 12:43:27
由于SAP数据库表位于一个正常的DBMS中:是的,您可以使用ADO.NET来读取它们。然而,我的经验是,SAP用户对此不太喜欢。
您还可以通过RFC读取表,这是ERPConnect支持的,也可能是其他的。这很可能是一条路。
第三种方法是返回所需数据的专用RFC组件。
发布于 2011-03-11 12:48:53
您通常不会直接与SAP系统的数据库交互,这是一种糟糕的做法(甚至可能会使您的支持合同失效--小心)。有许多不同的方法来调用SAP函数,这取决于它是如何实现的,或者部署了什么特性。
SAP经常与ABAP堆栈和J2EE堆栈一起部署。
就ABAP而言,RFC是国际海事组织最“本地”的连接形式。SAP为C、C++和Java提供了一个RFC库,可能还有其他语言。我很肯定你会为你最喜欢的.Net语言找到一些东西。
对于Java来说,现在几乎所有基于J2EE的东西(web服务、soap、.)都有很多可用的选项。
发布于 2011-03-14 20:15:46
你不能直接读SAP表,如果你不想让系统崩溃的话,当然你不能写。这种行为在企业环境中是不允许的,因为可能存在安全漏洞。公司保安部门将禁止此类活动。SAP系统是根据严格定义的安全规则构建的。通常,SAP用户通过报表或程序与DB数据交互,每个报表/程序都有用于授权检查的子程序。报表通常(总是)运行在事务中,事务也有安全检查。因此,如果您没有足够的权限,您甚至无法查看数据保护的数据,这是坚实的。因此,除了官方的一个- SAP .NET连接器之外,您实际上没有其他方法来实现SAP/.NET互操作性。在六月号发布了第3版,与以前的版本相比,它更适合于开发人员使用。祝好运!
PS:这很可能是您必须在SAP端编写特殊的FMs (功能模块),以简化互操作性。
https://stackoverflow.com/questions/5272935
复制相似问题