【问题标题】:SQL Server 2012 Data IntegrationSQL Server 2012 数据集成
【发布时间】:2014-05-03 05:44:04
【问题描述】:

我正在编写一个内部网应用程序(在 LAMP 环境中),它使用来自 MSSQL 2012 数据库部分的数据(由另一个更大的应用程序使用)。

在我看来,我的选择是:

  • 直接从应用程序查询数据库。
  • 创建网络服务
  • 使用 Microsoft SQL Server Integration Services 获取数据 自动集成到我的应用程序数据库中

我确信这里最好的解决方案是使用 SSIS,但是我在截止日期之前没有这样做过 - 所以如果是这样的话,有人可以告诉我

a) 以我在该领域的有限经验,我可以设置它,并且

b) 上述选项的优缺点是什么?

我想到的选项之外的任何其他建议也将不胜感激

【问题讨论】:

  • SSIS 是一种选择,但不要自动假定它是最佳选择。它有它自己的复杂性。为什么你的应用不能直接读取数据库?
  • @ElectricLlama 这是一个选项,我想我自己正在寻找这种方法的优缺点。安全是一个明显的骗局。从服务器更新我的应用程序数据库会更安全
  • 您是回答问题的最佳人选,基于您对 SSIS 的了解、您的应用程序架构、谁支持系统之间的接口、您的组织定义什么是合适的等等等等。变量太多,我们无法给出一个好的答案。我想说的是,在过去,我已经删除了许多未记录的 Windows 任务调度程序接口。

标签: mysql sql-server ssis


【解决方案1】:

选项:

直接从应用中查询数据库。

优势:

  • 绝不会有任何过时的数据

缺点:

  • 您的应用程序现在包含特定代码,并且与 应用
  • 如果您处于业务的常见情况 购买另一个包含相同主数据的应用程序,您现在 需要特殊代码才能连接到两个应用程序
  • 供应商可能不喜欢它
  • 可能是对源应用程序的性能影响

使用 Windows 任务计划程序/SQL 代理运行脚本或 SSIS,以 x 分钟左右的时间间隔复制数据。

优势:

  • 您的应用程序仅与您的本地数据库副本相关联,您可以根据需要对其进行自定义。如果您的源应用程序被迁移到云端或其他地方,那么您无需更改应用程序,只需更改集成即可
  • 如果另一个源应用程序出现具有相同类型的主数据,您现在可以将其复制到本地数据库中,而不是更改应用程序以连接到 2 个数据库。

缺点:

  • 过时数据的可能性
  • 更糟糕的是:在用户没有意识到的情况下,可能会出现陈旧数据,从而导致对应用程序失去信心
  • 另一个要维护的组件

如果您编写批处理脚本、.Net 应用程序或 SSIS,它们都是需要安排运行的逻辑片段

如果您的源数据库是 Oracle 或 SQL,则另一种选择是使用差异复制复制数据库,您可以使用复制将其复制到另一个数据库中。

你需要考虑几年后你会在哪里。数据复制方法可能让您更灵活地适应源系统中的变化,因为如果您的源系统发生剧烈变化,您只需要更改集成,而不是整个应用程序。

您还需要考虑:您是否会被要求以另一种方式传播更改,即更新本地副本中的数据并将其推送回源系统。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2012-09-16
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    相关资源
    最近更新 更多