gpt4 book ai didi

sql - SSIS 的值类型 ComObject 只能转换为 Object 类型的变量

转载 作者:行者123 更新时间:2023-12-04 15:52:32 26 4
gpt4 key购买 nike

我有以下通过 SSIS 执行调用的 SQL 语句:

  SELECT DISTINCT [ICDM_Log_Paths] = STUFF((SELECT ' ' + [ICDM_Log_Paths]+ '|' 
FROM dbo.[tblTmpICDM_Log_Paths]
FOR XML PATH('')), 1, 1, '')
FROM dbo.[tblTmpICDM_Log_Paths] AS t

但是,当我分配给一个结果集和一个字符串变量时,我收到错误:

[执行SQL任务]错误:值类型(__ComObject)只能转换为Object类型的变量。[执行 SQL 任务] 错误:为变量“FileName”赋值时出错:

“分配给变量“User::FileName”的值类型 (DBNull) 与当前变量类型 (String) 不同。变量在执行期间可能不会更改类型。变量类型是严格的,类型变量除外目的。".

如何在使用 STUFF 时将选择 CAST 为 NVARCHAR?

我已经尝试了下面的方法,但它不起作用:

  SELECT DISTINCT [ICDM_Log_Paths] = STUFF((SELECT ' ' + CAST([ICDM_Log_Paths] AS nvarchar(500))+ '|' 
FROM dbo.[tblTmpICDM_Log_Paths]
FOR XML PATH('')), 1, 1, '')
FROM dbo.[tblTmpICDM_Log_Paths] AS t

最佳答案

我修复\创建了一个解决方法,如果它对任何人都有帮助的话。

1 。基于以下内容创建了一个 View :

SELECT DISTINCT [ICDM_Log_Paths] = STUFF((SELECT ' ' + [ICDM_Log_Paths]+ '|' 
FROM dbo.[tblTmpICDM_Log_Paths]
FOR XML PATH('')), 1, 1, '')
FROM dbo.[tblTmpICDM_Log_Paths] AS t
  1. 在 SSIS 中执行 SQL 任务,然后我执行了:

    SELECT CAST(ICDM_Log_Paths AS nvarchar(500)) AS 附件来自 dbo.vw_ICDM_Filepaths

它对我有用。

关于sql - SSIS 的值类型 ComObject 只能转换为 Object 类型的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53304602/

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