我正在编写一个试图将数据从SQL Server数据库(带有给定连接字符串)批量导出到本地文件(无论采用何种格式)的应用程序。
通常情况下,sql server实用程序 BCP.exe 是理想选择,但 bcp 实用程序可能无法在运行我的应用程序的计算机上使用。 同样,bcp不被视为可再发行的应用程序。
我的问题是:BCP.exe不可再发行吗?如果没有,那么我和我的应用程序可用的最佳可再发行模块是什么。
将考虑任何解决方案。
答案 0 :(得分:0)
如果您使用的是VB.Net或C#,则不需要除框架之外的任何可再发行组件。
编辑:我想知道您为应用程序定位的系统以及您计划使用哪种编程语言来制作它。所以我可以给出适当的回应。
再次编辑:您可能希望尝试使用SQL OPENROWSET方法,它可以让您直接插入任何OLEDB提供程序。除此之外,你会被ADO困住。
答案 1 :(得分:0)
您有没有找到BCP的具体原因?您是否正在导出非常大的数量的批量数据? BCP非常快,但它倾向于“在幕后”工作,因此围绕一些正常的检查和平衡。 AFAIK这是一个SQL工作站工具(与SSMS等一起安装),通常不在客户机上使用。
听起来你正在开发一种基于“拉”的出口。另一种选择可能是将数据从SQL Server Integration Services推送到每台目标计算机(或发布所需数据并让客户订阅它)。
否则,您可以编写一个基于.Net(或其他)的应用程序,该应用程序利用ADO将数据拉下来并将其写入文件中。您可以使用多种选项 - 可以吗?提供更多关于你在哪个环境的工作?
答案 2 :(得分:0)
不,基于拉出口是我需要的。它适用于大量数据。 ADO比bcp慢,否则我会考虑它。我需要具有SSIS或bcp速度的批量数据传输功能。
你是对的,bcp是一个SQL工作站工具,从来没有在客户端机器上使用过,这是我的困境。
Jeremy,C#应用程序很好。