SSIS中OLE DB Source中如何执行Store Procedure

简介:

有很多人喜欢在OLE DB Source中执行Store Procedure,以得到源数据。但我们经常会遇到这样的情况,在OLE DB SourceSql Command中写好执行Store Procedure的语句后,可以正常Preview,但是当点到Columns标签时,却看不到Store Procedure返回来的结果集,就是说没有columns显示。

解决办法步骤:

1)       确保Store Procedure的最后一句是select语句,即有结果集返回

2)       Store Procedure的开头部分加上SET NOCOUNT ON,不返回计数(表示受 Transact-SQL 语句影响的行数)。 例如:

CREATE PROCEDURE [dbo].[sp_test_Icon]

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

    -- interfering with SELECT statements.

         SET NOCOUNT ON;

-- Insert statements for procedure here

         select number, name from #t2 --这句返回结果集

END

GO

3)       OLE DB SourceSql Command中执行Store Procedure的前面加上SET FMTONLY OFF,例如:

SET FMTONLY OFF

EXEC [dbo].sp_procedure1

顺便提一下,当把FMTONLY设置成ON时,只将元数据(列信息)返回给客户端,而不返回实际的行,一般用于用于测试响应的格式,而不必实际执行查询。所以这里我们要把它设成OFF

这样就能够在Columns标签中看到Store Procedure返回的结果集了。



   本文转自loose_went博客园博客,原文链接:http://www.cnblogs.com/michaelxu/archive/2009/10/16/1584284.html,如需转载请自行联系原作者

相关文章
|
IDE Linux 开发工具
Linux添加硬盘并进行分区、格式化、挂载及卸载
Linux添加硬盘并进行分区、格式化、挂载及卸载
727 0
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
255265 0
|
12月前
|
C++
软件安装(一):VS2017安装和使用
本文主要介绍了如何下载和安装Visual Studio 2017,包括选择安装组件、修改安装位置以及解决安装过程中可能遇到的问题。
526 3
软件安装(一):VS2017安装和使用
|
Linux 数据安全/隐私保护 Perl
CentOS7中升级OpenSSL详细教程
这篇文章提供了在CentOS 7系统中升级OpenSSL到3.2版本的详细步骤,包括备份现有配置、安装依赖、下载安装新版本以及验证安装结果。
2602 3
|
12月前
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域
409 0
|
前端开发 JavaScript 安全
|
12月前
|
SQL 关系型数据库 数据库
使用 PostgreSQL 和 Python 实现数据库操作
【10月更文挑战第2天】使用 PostgreSQL 和 Python 实现数据库操作
|
Ubuntu Java
蓝易云 - ubuntu22安装和部署Kettle8.2
现在你应该可以看到Kettle的图形界面了。这就完成了Ubuntu 22上Kettle 8.2的安装和部署。
320 1
|
10月前
|
缓存 Linux
解决CentOS 7停止更新后yum源失效问题【图文教程】
以上步骤完成后,你的 CentOS 7 系统就会使用阿里云的 yum 源,更换yum以后就可以正常使用啦。
8219 2
|
Windows
windows系统bat批处理 windows 关机,重启,锁定,休眠,注销
windows系统bat批处理 windows 关机,重启,锁定,休眠,注销
2024 0