oracle 通过C#应用程序连接到SAP

egdjgwm8  于 2023-08-04  发布在  Oracle
关注(0)|答案(2)|浏览(123)

我的公司在SAP系统中有材料信息,SAP系统的数据库托管在Linux服务器上。我正在设计具有图形信息的新应用程序,现在我想将材质指定给图形。公司中的旧应用程序从SAP导出材料数据并导入到应用程序中。但这意味着在两个不同的地方进行数据复制和数据维护。
现在,我们正在设计新的系统,我们希望在SAP的材料信息,并连接我们的新应用程序(正在开发的C#,ASP.NET,ADO.NET,LINQ)到SAP数据库准备材料信息。我们的应用程序中的SAP访问将是纯只读的。
如何从我的应用程序连接到SAP系统/数据库?

EDIT:我可以通过Oracle的SQL Developer直接连接SAP数据库,浏览所需的表,也就是说我现在可以使用C# -> Entity Framework连接这些表。这样行吗?请记住,我将在我的应用程序中使用READONLY访问权限访问它们。

zujrkrfu

zujrkrfu1#

您可以在SAP系统中开发Web服务,正如mkysoft已经解释过的那样。另一种选择是使用SAP .Net Connector,这是SAP自己的一个库,免费为SAP客户提供。它允许您调用支持RFC的功能模块,如BAPI,或充当RFC服务器或RFC客户端。
如果您只需要在基于.Net的应用程序中访问SAP,SAP NCo可能是更简单的解决方案,因为您可以调用任何远程功能模块,而无需在SAP系统中进行任何修改。如果您需要从多个系统访问这些数据,其中一些系统没有与SAP .Net连接器等效的,那么像Web服务这样的平台独立解决方案将是更好的解决方案。
直接访问SAP ERP数据库在技术上是可行的,只是 * 不推荐 *。首先,有些表类型(特别是集群表和池表)不能像通过ABAP/函数模块访问它们一样直接访问数据库表。您还规避了应用程序服务器中的业务逻辑。如果这是一个问题,对于您的具体情况是很难回答的。如果您只访问几个材料主表,不修改任何内容,也不需要考虑现有的业务逻辑(或者在应用程序中重新创建该逻辑),您可以直接访问数据库而不会遇到任何问题。

3duebb1j

3duebb1j2#

您可以轻松开发Web服务。在SAP上创建soap web服务并从任何语言调用它。
如果您的版本大于7.40,您也可以使用odata服务。
如果您不想在SAP方面进行任何开发,您有两个选择:
1.使用IDOC机制处理新项目或更改项目
1.使用通用Web服务来调用bapi http://sapserverurl/sap/bc/soap/wsdl?sap-client=clientnumber&services=functioname
最常用的bapi函数是BAPI_MATERIAL_GETLIST。

相关问题