2010-08-11 156 views
0

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

感谢您的建议。

+0

你可以在目标服务器上运行SSIS吗? – RQDQ 2010-08-11 17:27:28

+0

是的,我相信我可以在目标服务器上运行SSIS。 – Josh 2010-08-11 17:33:16

+0

从下面的评论中,我相信你的意思是“客户端机器”而不是“客户端机器”,这意味着你的网络上有一台工作站,而不是属于你的客户端的网络上的一台机器。 – 2010-08-13 12:01:31

回答

0

如果您提供您的客户端在他们的数据的服务,您应该制定一个标准,他们需要提供他们的数据,并协商该文件的交付方法以及你有没有考虑过之前什么与SSIS有关。从评论看来,您的数据似乎位于客户端远程位置的计算机上,我所见过的最常见的方法是让客户端SecureFTP将文件放入您的网络中进行处理,或者在您的端点上有一份工作,文件使用SecureFTP。一旦你的网络上有文件,编写SSIS来处理它是微不足道的。

0

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

另一种解决方法是使用BCP。我不是这种方法的忠实粉丝(SSIS更快,更强大,等等),但它可以在一个捏。

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

+0

数据源可以是任何东西......平面文件,数据库等。我们需要构建几种不同类型的“提供者”来提取数据。此外,提取不是一次性的事情......每隔X分钟从源系统中提取新数据。很遗憾,我无法从客户端复制或移动源数据文件。 – Josh 2010-08-11 18:02:17

+0

你能否通过网络使文件,数据库等可用(共享文件,用OLEDB/ODBC /等命中数据库)从服务器?如果是这样,您可以安排SSIS包每隔X分钟在服务器上运行。 为什么你不能从客户端复制或移动数据文件?服务器是否应该只能看到数据的一个子集? – RQDQ 2010-08-11 18:07:22

+0

客户端的数据受防火墙保护,他们只想共享其中的一部分。 – Josh 2010-08-11 19:05:31