【问题标题】:Extracting Data Client Side提取数据客户端
【发布时间】:2010-08-11 17:20:15
【问题描述】:

我需要能够从客户端计算机上的数据源中提取和转换数据,并通过 Web 服务调用将其发送到我们的数据存储中。我希望能够利用 SSIS,但 Sql Server 许可协议阻止我在客户端计算机上安装集成服务。我可以只提供我的应用程序引用的集成服务程序集的客户端副本吗?除了从头开始构建自定义解决方案之外,是否有人对如何最好地实施该问题的解决方案有任何想法?理想情况下,解决方案将包括利用现有的 ETL 工具?

感谢您的建议。

【问题讨论】:

  • 你能在目标服务器上运行 SSIS 吗?
  • 是的,我相信我可以在目标服务器上运行 SSIS。
  • 从下面的 cmets 中,我相信您的意思是“客户的机器”而不是“客户端机器”,这意味着您网络上的工作站,而不是属于您客户的网络上的机器。

标签: sql-server etl ssis


【解决方案1】:

如果您要为客户提供围绕其数据的服务,您应该制定他们需要在其中交付数据的标准,并在考虑如何处理 SSIS 之前就该文件的交付方法进行协商。由于从 cmets 看来您的数据位于客户端远程位置的计算机上,因此我见过的最常见的方法是让客户端 SecureFTP 将文件放入您的网络进行处理,或者在您端有一份工作来获取使用 SecureFTP 的文件。将文件放到网络上后,编写 SSIS 来处理它就很简单了。

【讨论】:

    【解决方案2】:

    如果服务器可以连接到客户端计算机,那么您可以在服务器上运行 SSIS 包。你在移动什么样的数据?如果它是一个平面文件,您可以将其 FTP 到服务器。

    解决此问题的另一种方法是使用 BCP。我不是这种方法的忠实拥护者(SSIS 更快、更健壮等),但它可以在紧要关头发挥作用。

    http://msdn.microsoft.com/en-us/library/ms162802.aspx

    【讨论】:

    • 数据源可以是任何东西......平面文件、数据库等。我们需要构建几种不同类型的“提供者”来提取数据。此外,提取不是一次性的……每 X 分钟从源系统中提取新数据。不幸的是,我无法从客户端复制或移动源数据文件。
    • 您能否让服务器上的文件、数据库等在网络上可用(共享文件、使用 OLEDB/ODBC/等访问数据库)?如果是这样,您可以安排 SSIS 包每 X 分钟在服务器上运行一次。为什么不能从客户端复制或移动数据文件?服务器是否应该只看到数据的子集或其他东西?
    • 客户的数据受防火墙保护,他们只想共享其中的一部分。
    猜你喜欢
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    相关资源
    最近更新 更多