我有一个SSIS包需要通过oledb组件将数据加载到一个表中,该表的名称在运行时才知道。在oledb目标编辑器中,我选择“数据访问模式”作为“表名或视图名称变量”。我输入了包含表名称的“变量名称”。当我点击预览按钮时,我看到了正确表格的预览。但是,当我尝试运行/调试程序包时,我在验证阶段得到以下消息 - 在程序包尝试运行之前:
Information: 0x4004300A at Check Recs and Insert, DTS.Pipeline: Validation phase is beginning.
Error: 0xC0202042 at Check Recs and Insert, Insert Into TransactionX table [2269]: A destination table name has not been provided.
Error: 0xC004706B at Check Recs and Insert, DTS.Pipeline: "component "Insert Into TransactionX table" (2269)" failed validation and returned validation status "VS_ISBROKEN".
Error: 0xC004700C at Check Recs and Insert, DTS.Pipeline: One or more component failed validation.
Error: 0xC0024107 at Check Recs and Insert: There were errors during task validation.
SSIS package "PointsPartnerImport.dtsx" finished: Failure.
它说A destination table name has not been provided.
但它有!有人有类似的问题吗?
答案 0 :(得分:2)
数据的编程格式是什么?我今天遇到类似的问题,试图从Excel电子表格导入数据。原来,电子表格的名称中有一个“”(物理空白区域)。 SSIS对此并不太满意。但无论出于何种原因,我用_(下划线)替换了这个空格后问题就解决了。
至于为什么,我的猜测是在白色空格或连字符等标题中通常应该避免使用某些字符。除了空格之外,可能还有一些字符会产生类似的错误(连字符?)。
答案 1 :(得分:0)
您是否将变量设置为默认值?查看此文章:msdn thread
答案 2 :(得分:0)