首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PeopleSoft中获取数据

从PeopleSoft中获取数据
EN

Stack Overflow用户
提问于 2009-06-12 03:46:20
回答 6查看 8.9K关注 0票数 7

我们有一个PeopleSoft安装,我正在构建一个单独的web应用程序,需要从PeopleSoft数据库中提取数据。web应用程序将位于与PeopleSoft不同的服务器上,但位于相同的内部网络上。

我有什么选择?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-06-21 17:03:14

是的-集成代理是Peoplesoft的发布/订阅机制的专有实现,使用xml。当然,您可以使用JDBC或OLE/ODBC编写不利于您的数据库的代码。没有什么能阻止你这样做。但是,您必须了解Peoplesoft数据库模式,以便从适当的数据中提取或插入/更新/删除所有适当的数据。Peoplesoft会帮你解决这个问题。

此外,请查看组件接口-它们作为API公开给Java或C/C++。

票数 5
EN

Stack Overflow用户

发布于 2011-11-06 05:56:36

这本书很老了,但它可能仍然会引起人们的兴趣。

PeopleSoft在主机数据库(Oracle、SQL Server、DB2等)中有自己的模式,这些模式是PSxxx表,例如: PSRECDEFN相当于Oracle的DBA_TABLES。这些表不应该被任何外部代码触及。应用程序表存储在PS_xxx表中,例如: PS_JOB。这些表可以由任何SQL代码读取和更新。

PeopleSoft中的许多批处理程序(例如:应用程序引擎、COBOL或SQR)直接访问表,这是将数据传入或传出数据库的最快方法。然而,PeopleSoft有一个相当丰富的应用层,这在执行直接SQL时会被绕过。必须在直接的SQL代码中复制此应用层,尤其是在插入或更新时。可能存在对其他表的更新、计算或数据库存储的计数器的增量。

要确定如何做到这一点,必须查看PeopleCode (一种类似于VB6的解释型语言)、页面设计(通过应用程序设计器),并使用PeopleCode和SQL跟踪工具。如今,应用层非常庞大,因此对于非平凡的页面来说,这可能是一项冗长的任务。PeopleSoft将相关页面分组到组件中,组件中的所有页面都会同时保存。

组件接口是在PeopleTools 8中引入的,作为一种避免执行所有这些操作的方法。使用PeopleSoft应用程序设计器中的生成器,将基于组件生成组件接口。对于许多组件,这些组件可以用来像用户一样访问页面,并且可以通过PeopleCode程序访问,因此可以通过App Engine程序和集成代理访问。它们还可以包装在Java代码中,并由能够使用web服务包装器对应用程序服务器执行的代码直接访问。这种方法最适合于低容量事务:大量提取与原生SQL一起工作得更好。

http://download.oracle.com/docs/cd/E17566_01/epm91pbr0/eng/psbooks/psft_homepage.htm上提供的PeopleSoft在线开发和跟踪工具相当不错,文档也非常优秀(尽管内容相当丰富)

如果您只是想从给定组件中提取数据,最简单的方法是打开SQL跟踪(在PeopleSoft中的实用程序菜单下),并显示该组件的一些记录。浏览跟踪文件可以让您很好地了解要做什么,并且可以剪切和粘贴大部分SQL。另一种方法是找到一个与您想要做的事情相似的现有报告,然后去掉SQL。

手头有一位PeopleSoft业务分析师来帮助您开发需求也不会有什么坏处。

票数 5
EN

Stack Overflow用户

发布于 2009-06-12 12:13:30

我猜这取决于您的需求,以及您使用的PeopleSoft版本。

你想要实时查找吗?如果是这种情况,那么您将需要查看Web服务/集成代理。

如果您想要批量/批量导出,那么计划的应用程序引擎就可以做到这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/984867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档