gpt4 book ai didi

sql-server - 如何在 DTS 数据转换任务中使用存储过程?

转载 作者:行者123 更新时间:2023-12-03 16:57:17 25 4
gpt4 key购买 nike

我有一个带有数据转换任务(数据泵)的 DTS 包。我想使用带参数的存储过程的结果来获取数据,但 DTS 不会预览结果集,也无法定义数据转换任务中的列。

有没有人让这个工作?

警告:存储过程使用两个临时表(当然会清理它们)

最佳答案

为存储过程参数输入一些有效值,以便它运行并返回一些数据(或者甚至没有数据,您只需要列)。然后您应该能够进行映射/等。然后进行断开连接的编辑并更改为实际参数值(我假设您是从全局变量中获取它们)。

DECLARE @param1 DataType1  
DECLARE @param2 DataType2
SET @param1 = global variable
SET @param2 = global variable (I forget exact syntax)

--EXEC procedure @param1, @param2
EXEC dbo.proc value1, value2

基本上你是这样运行的,所以程序会返回结果。做映射,然后在断开连接的编辑中注释掉第二个 EXEC并取消注释第一个 EXEC它应该工作。

基本上你只需要运行程序并输出结果。即使您没有返回任何行,它仍然会正确映射列。我无权访问我们的生产系统(甚至数据库)来创建 dts 包。所以我在一个虚拟数据库中创建它们,并用返回生产应用程序将运行的相同列但没有数据行的东西替换存储过程。然后在映射完成后,我用真实的程序将它移到生产盒中,它可以工作。如果您通过脚本跟踪数据库,这很有效。您可以只运行脚本来构建一个空的 shell 过程,完成后运行脚本以放回真正的过程。

关于sql-server - 如何在 DTS 数据转换任务中使用存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/87647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com