相关疑难解决方法(0)

将选择结果写入 csv 文件

我们需要将 SELECT 查询结果写入一个 csv 文件。如何在 SQL Server 2008 r2 中使用 T-SQL 来完成?我知道它可以在 SSIS 中完成,但由于某些原因,我们没有这个选项。

我尝试使用下面文章中建议的 proc,但是当我运行该 proc 时,SQL 抱怨无法运行在此 proc 中调用的 sys.sp_OACreate 和 sys.sp_OADestroy。

您知道我们如何打开这些组件或知道使用 T-SQL 写入文件的更好方法吗?

提前致谢。

sql-server-2008 t-sql

44
推荐指数
5
解决办法
30万
查看次数

NVARCHAR(MAX) 字符串似乎有 6326 个字符,但不会全部打印出来

我正在编写一个存储过程来使用sp_send_dbmail系统存储过程来发送 HTML 电子邮件。我以前使用过这个程序,但以前没有遇到过这个问题。我正在使用此处列出的构建方法

从网上我认为NVARCHAR(MAX)应该最多容纳 2 147 483 647 个字符(ref

但是,当我构建我的输出时,如果我PRINT输出它不会返回完整的字符串。

我已经单独测试了我的 SQL,这按预期返回。

显然我有一个错误,但有人可以指出它是什么吗!

脚本是:

Declare @RawPart varchar(30);
Declare @PO varchar(30);
Declare @NL varchar(12)='<br/>';
DECLARE @BodyHTML  NVARCHAR(MAX) ;
Declare @SubjectText varchar(200);
Declare @StaffEmail varchar(50);
Declare @MrpDate varchar(12);


Set @MrpDate=(Select convert (varchar(12),[SnapshotDate],103) from [dbo].[MrpReqCtl] )

set @StaffEmail='SOMEPLACE@DOMAIN.co.uk';
set @SubjectText ='Schedule Update from MRP Email';
Set @PO='106277';
Set @RawPart=(Select Distinct  MStockCode From dbo.PorMasterDetail Where PurchaseOrder=@PO and LineType=1)


--N'<p>Attention From the Mrp run '+@MrpDate+N'</p><p>Has …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server stored-procedures database-mail

5
推荐指数
1
解决办法
7505
查看次数