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