我想到了这个解决方案:从Web服务获取数据,插入表中,然后与其他表连接,但这会影响性能,此后,我必须删除所有这些数据。 还有其他方法可以做到这一点吗?如何通过一个sql表加入从Web服务返回的记录集
回答
您不从Web服务返回记录集。 HTTP对你的数据库或结果集一无所知。
HTTP请求和响应是字符串。您必须解析出数据,将其转化为查询并对其进行处理。
性能很大程度上取决于诸如在WHERE子句中具有适当索引的列,查询的性质以及许多您在此未提供的细节。
这听起来像是“客户端与服务器”的经典案例。为什么不写一个存储过程来完成数据库服务器上的所有工作?您正在描述将大量数据带入中间层,操纵它,放回并删除它的许多工作?我会弄清楚如何让数据库做到这一点。
不,你并不需要保存任何东西到数据库中,有许多方法,以XML来表转换,但不保存到数据库
例如Oracle数据库可以使用的XMLTable /的XMLType/XQuery的/ dbms_xml 到XML结果转换从Web服务到表,然后在查询
例如使用它:
,如果你使用Oracle 12c中您可以使用JSON_QUERY:Oracle 12С JSON
的XMLTable:oracle-xmltable-tutorial
是常见的考虑有一个三层结构的应用程序:用户界面,“商业逻辑” /中间件和后台数据管理。从Web服务中提取记录并(暂时)将它们插入到SQL数据库中的表中的想法具有一些优点,因为您希望执行的“连接”可以在SQL中快速实现。
Oracle(与其他SQL DBMS一样)功能temporary tables仅针对这些任务进行了优化。
但是,考虑到您对性能的担忧,这可能不是最好的方法。假设您的“中间件”层是使用Java编写的,并且给定了问题上的标签,并且没有任何明确的描述表明您可能正在尝试双层设计,其中用户界面程序直接与后端数据连接管理资源。
鉴于您对Oracle产品的明显投资,您可能会发现将Oracle Middleware元素合并到您的设计中是值得的。特别是Oracle Fusion Middleware承诺实现Web服务和数据库之间的“数据集成”。
- 1. 使用Web服务返回记录集
- 2. 从两个表返回的数据集返回过滤记录
- 3. Ext.data.JsonStore getCount()返回0记录Web服务
- 4. 总是返回记录SQL服务器
- 5. 通过web服务返回linq结果
- 6. 如何从$ .ajax从web服务返回
- 7. 如何从函数返回记录集
- 8. Linq 2 SQL:通过Web服务更新记录
- 9. 如何从WCF Web服务返回XML?
- 10. 如何从Web服务返回异常?
- 11. Web服务列表记录
- 12. wcf服务不返回linq-to-sql表的父和子记录?
- 13. 插入记录从一个表到另一个和用户data..SQL服务器
- 14. 如何通过CRM SDK Web服务调用记录CRM消息?
- 15. 从Web服务返回XML
- 16. 从Web服务返回PDF
- 17. SQL服务器只能加入一个记录
- 18. 从Web服务返回表格结构
- 19. SQL从一条记录返回多行
- 20. 如何通过Web服务返回图像数组?
- 21. 添加值从记录集+值从输入框通过VBA
- 22. 如何通过web服务
- 23. 如何从WCF服务返回一个LINQ to SQL Table实体?
- 24. SQL服务器:加入一个循环表格是通过表中的行会
- 25. 如何从C#web服务返回的数据表/数据集作为JSON
- 26. 如何通过记录组SQL服务器基于今年
- 27. SQL四个表一个记录集
- 28. 引导3预输入从返回的web服务列表
- 29. 返回一个java.util.List在Web服务
- 30. 有一个java web服务返回一个空的Web结果
你的问题太广泛了。 –
可以通过更明确地说明应用程序使用哪些元素来改进问题。 – hardmath