gpt4 book ai didi

sql-server - 错误”...非错误输出上的 OLE DB Source.Outputs[OLE DB Source Output].Columns[XXXXXXXX] 没有相应的输出

转载 作者:行者123 更新时间:2023-12-02 06:44:03 25 4
gpt4 key购买 nike

我花了几个小时试图解决这个问题。对于给我带来问题的列,我在 sql server 中使用标量函数来获取名称。该功能是正确的并且工作正常。然后我使用一个存储过程与 ssis 一起使用。给我错误的列指出它在错误输出上没有相应的输出列。一切似乎都很好。我已根据之前的建议执行了以下操作:

  1. 删除了源和目标并重新映射了所有内容
  2. 将 DelayValidation 属性更改为 true
  3. 将最大错误计数更改为 100
  4. 未选中并重新选中源中的可用外部列

这些是之前论坛的建议。

我是一名实习生,想自己获得这个,而不必询问我的经理。我花了无数个小时试图解决这个问题。

有什么建议吗?

编辑以增加问题的值(value)

以下是我在 OLE DB 源中的查询

SELECT *
FROM RExtenstionBase R
LEFT OUTER JOIN AExtensionBase A
ON R.ASN = A.SN
AND R.ARN = A.R

此查询为我提供了 Dynamics CRM 所需的字段。

以下是我在 OLE DB 命令中的存储过程调用:

EXEC InsertRepairs ?,?,?,?,?,?,?,?,?,?

以下是我的存储过程脚本:

USE [MSCRM_RC]
GO


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[InsertRepairs]
-- Add the parameters for the stored procedure here

@ROID nvarchar(100),
@AType nvarchar(100),
@ARN nvarchar(100),
@DateReceived datetime,
@RForRR nvarchar(100),
@C nvarchar(100),
@SN nvarchar(100),
@ASN nvarchar(100),
@Performed nvarchar(100),
@COR decimal


AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @newID AS UNIQUEIDENTIFIER
SET @newID = NEWID()

INSERT INTO [dbo].[A_RBase] /***BASE TABLE ALWAYS THE SAME ***/
([A_RCRIDID] /*Always change this tho */
,[CreatedOn]
,[CreatedBy]
,[ModifiedOn]
,[ModifiedBy]
,[CreatedOnBehalfBy]
,[ModifiedOnBehalfBy]
,[OwnerId]
,[OwnerIdType]
,[OwningBusinessUnit]
,[statecode]
,[statuscode]
,[ImportSequenceNumber]
,[OverriddenCreatedOn]
,[TimeZoneRuleVersionNumber]
,[UTCConversionTimeZoneCode])
VALUES
(@newID
,GETUTCDATE() -- CreatedOn
,'XXXXXXXXXXXXXXXXXXXXXXX' -- CreatedBy
,GETUTCDATE() -- ModifiedOn
,'XXXXXXXXXXXXXXXXXXXXXXX' -- ModifiedBy
,NULL -- CreatedOnBehalf
,NULL -- Modified''
,'XXXXXXXXXXXXXXXXXXXXXXX' -- OwnderId
,8
,'XXXXXXXXXXXXXXXXXXXXXXX'
,0 -- statecode
,1 -- statuscode
,5 -- ImportSequenceNumber
,NULL -- Overrid
,0 -- TimeZoneRule
,NULL) -- UTCConversion




INSERT INTO [dbo].[A_RExtensionBase]
([A_RCRID]
,[A_Name]
,[A_AType]
,[A_ARN]
,[A_DateReceived]
,[A_RForRR]
,[A_C]
,[A_SN]
,[A_ASN]
,[A_Performed]
,[A_COR])
VALUES
(@newID,
@ROID,
@AType,
@ARN,
@DateReceived,
@RForRR,
@C,
dbo.Lookup_SNID_GUID(@SN)
@ASN,
@Performed ,
@COR)


END

以下是我的标量值函数:

USE [MSCRM_RC]
GO


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER FUNCTION [dbo].[Lookup_SNID_GUID]
(
-- Add the parameters for the function here
@SN_Name nvarchar(100)
)
RETURNS UNIQUEIDENTIFIER
AS
BEGIN
-- Declare the return variable here
DECLARE @SN_GUID UNIQUEIDENTIFIER
SELECT @SN_GUID = SNID

FROM SNExtensionBase
WHERE name = (@SN_Name)

RETURN @SN_GUID
END

最佳答案

显然这是 SSIS 包的一个常见错误。我通过钻取 OLE DB 源、单击列选项卡、找到错误消息中包含的可用外部列,然后取消选中该复选框并重新选中它来消除错误。错误已解决!

关于sql-server - 错误”...非错误输出上的 OLE DB Source.Outputs[OLE DB Source Output].Columns[XXXXXXXX] 没有相应的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005361/

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