Sql SSIS:列';列名称';在数据源中找不到

Sql SSIS:列';列名称';在数据源中找不到,sql,sql-server,ssis,Sql,Sql Server,Ssis,我正在做一个SSIS项目。我正在尝试对文件运行查询。在我的包中,我有一个运行此查询的OLEDB源 USE [DB] SET FMTONLY OFF; DECLARE @table_data TABLE ( column_01 VARCHAR(255), column_02 VARCHAR(10), colum

我正在做一个SSIS项目。我正在尝试对文件运行查询。在我的包中,我有一个运行此查询的OLEDB源

USE [DB]

SET FMTONLY OFF;

DECLARE @table_data TABLE 
                    (
                        column_01 VARCHAR(255),
                        column_02 VARCHAR(10),
                        column_04 VARCHAR(255)
                    )

SELECT 
    'column_01',
    'column_02',
    'column_03'
UNION ALL 
        column_01,
        column_02,
        column_03
FROM 
    @table_data
尝试运行脚本时,出现以下错误:

SSIS:在数据源中找不到列“Column_01”

我尝试将
ValidateExternalMetaData
设置为on,但出现错误(
验证失败,返回验证状态“VS_NEEDSNEWMETADATA”

OLE DB源正在将数据转储到动态文本文件中


我不知道如何解决这个问题,也不知道SSIS为什么不允许我使用它。

您的代码不会生成错误;看

不过,我怀疑您希望结果中有带名称的列。但它们只是匿名字符串。你想要什么还不清楚。也许:

SELECT 'column_01' as column_01, 'column_02' as column_02,
       'column_03' as column_03
FROM @table_data;
或者,您可能希望表中的值而不是常量字符串值:

SELECT column_01, column_02,column_03
FROM @table_data;

我尽力了。它工作正常,没有任何错误

USE [DB]

SET FMTONLY OFF;

DECLARE @table_data TABLE 
                    (
                        column_01 VARCHAR(255),
                        column_02 VARCHAR(10),
                        column_04 VARCHAR(255)
                    )

INSERT INTO @table_data
SELECT 'column_01','column_02','column_03'

SELECT * FROM @table_data

联合后,必须使用
选择

像这样:

USE [DB]

SET FMTONLY OFF;

DECLARE @table_data TABLE 
                    (
                        column_01 VARCHAR(255),
                        column_02 VARCHAR(10),
                        column_04 VARCHAR(255)
                    )

SELECT 
    'column_01',
    'column_02',
    'column_03'

UNION ALL 

select
        column_01,
        column_02,
        column_03
FROM 
    @table_data

我更新了我的sql代码。我犯了一个错误。。。我尝试将别名添加到所有列中,但在数据源中仍然找不到它