sql-server – 将数据从SAP导出到SQL Server [已关闭]

我有一个应用程序,它使用sql Server 2008来存储需要从SAP(其在该公司中使用Oracle 11作为后端)提供一堆财务信息的数据.

我问SAP的人是否可以阅读表格,他们说没有办法.
我要求他们直接连接到我的数据库来填充我的表,他们说没有办法.
(我有一个来自Oracle数据库Feed,其他应用程序不同于SAP,使用透明网关没有问题,所以这就是为什么问这个)

他们说,与SAP进行互动的唯一方法是使用Web服务.但是由于数据量庞大,我不认为这是路径.

有没有人在SAP和sql Server之间创建接口的经验?

我要延长我的解释.我目前的应用程序已经由三个其他应用程序(这是一个大型企业)提供,所有这些应用程序都转到相同的表,我收到数据以进一步处理.所有其他应用程序(1个Oracle,2个sql Server)执行直接更新或保存数据的存储过程.其他3个应用程序由不同的团队管理,彼此无关系.所有这些人都开始抱怨,但最终都被接受将他们的数据导出到这个应用程序.

因此,理想的方法是说服SAP人员做同样的事情:打开与sql Server的连接并执行一些插入或运行存储过程.

解决方法

基本的问题是 – 推或拉?您可以使用某种设置,使SAP R / 3系统定期导出一些您随后可以获取的数据,也可以让一些外部系统伸出手来抓住数据.至于“只有通过使用Web服务才能与SAP进行交互” – 从技术上讲,这与牛的合作伙伴的粪便一样,你会得到.可能存在非技术问题 – 奇怪的政策或不愿意的系统管理员 – 但是我们关注细节.

对于“推”解决方案,您可以将现有报表中的一个进行定期运行,并将输出保存到文件或邮寄到某个地方.这是相对容易做到的,但它要求有报告给你所需的数据.如果他们不在那里,写下规范并对他们进行编程或者让他们编程.这不是魔术,只是另一种编程语言.

如果你想拉,你可以直接去数据库,但是我强烈的不鼓励.一旦你打到你的第一个cluster table,你会达到一个死胡同.如果您正在考虑大量的数据,最好的方法就是建立一个RFC连接(专有协议,在此可以看到很多其他问题),如果存在一个BAPI(这是一个编程接口由SAP正式使用和维护)或使用RFC_READ_TABLE访问数据.请注意,后者不适用于所有表,它取决于表的结构(总大小和字段类型). Web服务只是增加了另一个编码级别,而且噪音很大 – 不是很适合大批量的ETL流程.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...