我想知道社区建议将数据从OData API提取到SQL 2008 R2。我需要创建一个将数据导入SQL的夜间作业。我应该创建一个简单的控制台应用程序来迭代OData API并导入到SQL吗?或者我可以创建某种类型的SQL Server BI应用程序吗?或者有更好的方法吗?
答案 0 :(得分:3)
这将太慢了。 OData不是批量操作的API。它专为客户端设计,可以访问各个实体并在它们之间导航关系,最多只能在一些筛选列表中进行分页。
通过OData提取整个转储不会让任何人高兴。 OData API所有者将不得不调查谁正在通过他的API进行所有这些夜间爬行并发现它是你并且可能会让你失望。另一方面,您会发现OData不是一种有效的批量传输格式,来回编组HTTP编码实体并不是消耗带宽的最佳方式。并且每次都抓取整个数据库,而不是仅仅发现上次爬网的deltagrams,只有在数据库达到临界大小S时才会起作用,在该临界大小S上,更新所花费的时间超过了你的频率重新汇集!
此外,如果不是您的数据,则极有可能OData API的使用条款明确阻止此类批量抓取。
获取数据转储,存档并使用FTP复制。