如何解决SSIS:“值,不属于预期范围内”?(How to fix SSIS : “Value, d

2019-07-20 02:17发布

当我打开一个包含由同事创建SSIS包的解决方案,我得到这个尴尬的错误,告诉我没有什么,我应该怎么做来解决它。

他离开的指示采取一切“变量”列于DTSX文件的连接字符串的开放的解决方案之前手动。 我已经做了,现在当尝试在设计包装我只是得到一个红色的X,该消息的图像。

编辑:你看不到任何的设计元素,在顶部没有标签,切换到错误或数据流。 只是有一个红色的X屏幕上的灰色中心区域,以及消息,它像VisualStudio的死在读取DTSX文件的过程。

Answer 1:

现在的问题是相当非特异性所以当然就很难得到正确的轨道上。 所有给出的答案集中不同的问题。 我要说的是PeterX过的最好的猜测。 的原因的错误可能是作为修改的数据源一样简单。

我碰到一个错误添加一个新列到需要通过现有的SSIS包进行处理的表时,“错误输出上没有相应的输出”经常。 此错误与错误消息说,一个“值没有在预期范围内”走过来。

甲新添加的列需要由现有SSIS包进行处理。 预期的行为是SSIS将认识到,有一个新的列,然后选择要处理的OLEDB源任务SSIS的栏目页面上此列。 然而,具有经修饰的我得到两次以下错误消息表后打开OLEDB源任务时首次:“值不在所述预期范围内” 打开编辑器并打开编辑器的Columns页面时,当该错误消息出现了。 在该OLEDB源任务的高级编辑器新列的OLEDB源输出列树,但不是在OLEDB源错误输出列树出现了。 这是错误消息的实际根本问题。 不幸的是,似乎没有办法手动添加缺少的列。

为了解决这个问题,删除和杰夫提到的正常编辑的栏目页重新添加新添加的列。

值得一提的是,OLEDB源任务的数据源是改良MDS查看。 微软CRM动态 - 如在相关线索中提到 - 使用意见了。 这使我的结论,即使用视图作为数据源可产生任一上述的错误,当修改数据类型或添加/删除的列。

相关主题: 错误” ...的OLE DB Source.Outputs [OLE DB源输出] .Columns [XXXXXXXX]在非错误输出没有相应的输出

所描述的变通办法是指到Visual Studio 2008版本9.0.30729.4462 QFE与Mircorsoft.NET Framework 3.5 SP1中。 该数据库的SQL Server 2008 R2(SP2)。



Answer 2:

我不得不删除并重新创建我的数据流的OLE DB数据源 - 这是我的错误。 我也注意到我在下拉列表,以“重新选择”的“OLE DB连接管理器”,迫使它认识到新的连接。

这可能是从TFS获得解决方案的组合(其中我注意到了数据源没来,整个得当,它抱怨缺少连接GUID)和/或复制和粘贴从另一个包的元素。

(招标2008)。



Answer 3:

如果有人使用EncryptAllWithUserKey作为的ProtectionLevel你得到类似的消息。 不过,我相信消息略有不同(即使你得到一个灰色的设计,表面红色的X)。

您是否尝试过在查看记事本文件? 难道只是一系列的GUID的还是有,什么都不是力所能及可读? 如果没有任何可读的代码,然后将其可能与用户密钥encyrpted。

如果员工部署包到服务器,并使用SQL Server作为部署目的地(不是文件系统或SSIS Pacakge店),那么你可以下载软件包到您的计算机。 只要连接到SQL Server集成服务引擎,扩展存储包,展开MSDB,展开相关的文件夹,在包装上单击鼠标右键,然后单击导出包。 将文件保存在本地计算机上,并打开它。 该软件包可能会失去注释和漂亮的格式化,但除此之外,它应该是相同的员工部署什么。



Answer 4:

我刚刚打了同样的问题。 关于挥舞了一下后,我找到了解决方法是编辑解决方案配置。

该解决方案配置似乎有一个匹配的项目配置,如图所示:

但是点击该项目(SSIS提前在这个例子中)的下拉箭头显示,对于该项目被称为生产没有项目配置 - 子报表。 我不知道怎么来的 - 这种解决方案有7年的历史,许多开发商。

反正当我创建了一个新的项目配置(使用相同的下拉菜单),现在所有的幸福。



Answer 5:

我有这个问题与SQL命令我的OLE DB源组件添加新列到数据库后,它不会让我选择列或什么要补充的新列。

我与Oracle数据库的工作,我可以得到它的更新的唯一方法是改变SQL查询来select 1 from dual ,以及预览。 然后,将其恢复为我的旧查询。



Answer 6:

如果有Oracle数据源,您可能需要为Attunity安装Microsoft连接器4.0版的Oracle: https://www.microsoft.com/en-us/download/details.aspx?id=52950

我也不得不使用VS 2015年 - 最初用于创建项目和包的版本。

我有这个确切的问题和安装这些连接器,并使用2015年VS固定的问题。



Answer 7:

我有当我试图打电话与OLE DB OUTPUT参数的存储过程出现这种情况也是如此。

我发现这一点: http://sqlsolutions.blogspot.com/2013/04/ssis-value-does-not-fall-within.html ,这解决了我的问题。 该相关操作是重命名SSIS参数映射到“0”,“1”等

因此,例如,当调用dbo.StoredProc @variable0 = ?, @variable1 = ? OUTPUT, @variable2 = ?; dbo.StoredProc @variable0 = ?, @variable1 = ? OUTPUT, @variable2 = ?; 在参数映射对话框中,将命名参数“0”,“1”,2' ,以对应于那些。 啊,SSIS <3



Answer 8:

我得到这个时候我不遵循参数的命名约定,如没有名字的参数0,1,2,...以正确的顺序为OLE DB连接。 细节都记录在这里 。



Answer 9:

我使用的,而不是64位的32位部署向导部署时,在得到这个错误。

当从SSMS部署,32位向导开始为默认(任何人都知道如何更改此设置?)你可以运行在命令行的64位向导:

的%ProgramFiles%\ Microsoft SQL Server的\ 130个\ DTS \ BINN \ isdeploymentwizard.exe

有关SSIS部署更多细节



文章来源: How to fix SSIS : “Value, does not fall within expected range”?
标签: ssis