【发布时间】:2012-09-17 05:00:42
【问题描述】:
我一直在尝试获取大型多连接 SELECT 语句的结果,并将查询结果作为 CVS 文件通过电子邮件发送。 我有正确的查询和电子邮件,但我无法自动将结果导出为 CVS 文件。根据我的阅读,自动导出查询结果的最佳选择是一个名为“BCP”的工具。
我尝试在 Management Studio 中像这样使用 BCP:
USE FootPrint;
DECLARE @sql VARCHAR(2048);
DECLARE @dir VARCHAR(50);
SET @dir = 'C:\Users\bailey\Desktop';
SET @sql = 'bcp "SELECT TOP 10 * FROM datex_footprint.Shipments" queryout "' + @dir + '" -c -t, -T';
EXEC master..xp_cmdshell @sql;
FootPrint 是特定数据库的名称,而 datex_footprint 是模式。 (这不是真正的查询,只是一个测试)。
当我运行它时,我得到的错误是: “SQLState=S0002,NativeError = 208” “错误 = [Microsoft][SQL Server Native Client 10.0][SQL Server] 无效的对象名称 'datex_footprint.Shipments'。”
我 100% 肯定 datex_footprint.Shipments 是我尝试测试的数据的正确架构\表访问权限。
有没有人看到我在尝试将此结果导出到 CSV 文件时遗漏了什么或做错了什么?不过,具体来说,我正在尝试自动化这个过程。我知道如何将结果导出到 CSV 文件中,但我想在 T-SQL 中执行此操作,以便可以按时间自动生成文件。
任何帮助将不胜感激!
【问题讨论】:
标签: sql sql-server-2008-r2 bcp xp-cmdshell