CẬP NHẬT tháng 11 năm 2020.
Bài đăng này đã được vượt quá bởi Cách THỰC HIỆN một quy trình được lưu trữ từ SSIS để đưa đầu ra của nó thành tệp văn bản
mô tả cách chạy một thủ tục được lưu trữ từ SSIS
exec mySproc WITH RESULT SETS ((i int))
xem giải pháp do Troy Witthoeft cung cấp
Câu trả lời cũ
Có một giải pháp khác được đề cập tại https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata
. Xem tùy chọn 3. (Tháng 11 năm 2020; liên kết cập nhật)
Trích dẫn:Thêm một số siêu dữ liệu và "set nocount on" vào quy trình được lưu trữ với "mệnh đề if ngắn mạch" (nếu 1 =0) và câu lệnh select không có thật ở trên cùng. Tôi đã thử nghiệm với việc cố gắng loại bỏ "set nocount on" và nó không hoạt động.
CREATE PROCEDURE [dbo] . [GenMetadata] AS
SET NOCOUNT ON
IF 1 = 0
BEGIN
-- Publish metadata
SELECT CAST (NULL AS INT ) AS id ,
CAST (NULL AS NCHAR ( 10 )) AS [Name] ,
CAST (NULL AS NCHAR ( 10 )) AS SirName
END
-- Do real work starting here
CREATE TABLE #test
(
[id] [int] NULL,
[Name] [nchar] ( 10 ) NULL,
[SirName] [nchar] ( 10 ) NULL
)