我正在尝试在SSIS中使用"表达式任务"来简单地初始化/设置两个变量.这个看似简单的任务让我疯狂,因为我不知道如何分离这些陈述:
@[User::testVariable]="1"
@[User::testVar2]=3
Run Code Online (Sandbox Code Playgroud)
这给出了一个解析错误,我读了很多文档都无济于事.如何分离语句,我希望我不必使用多个表达式任务,因为我有很多变量......谢谢
这可能听起来像一个简单的问题,但网上的答案都指向设置环境并在项目/包中引用它的基础知识.
我遇到的场景从未在任何地方被提及过,所以我认为在这里记录行为会很好.
以下是重现问题的步骤:
1.创建新包:Package1.dtsx
2.创建新的(包)参数:Test, Int32, Required
3.部署项目.
4.转到Integration Services目录并导航到该程序包.
5.右键单击包,然后
单击配置... 6.单击包参数Test
7 旁边的"..." .您将看到该"Use environment variable"选项被禁用/变灰.

这是为什么?
我有一个我在VS2012中开发的包(使用SQL数据工具组件),它使用VFPOLEDB提供程序从DBF文件收集数据,并将其放入SQL Server 2012 X64服务器上的数据库中.包含该程序包的项目将Run64BitRuntime的DebugOption设置为false.我已将此包导入测试和实时服务器的SSIS包存储(相同的设置).VFPOLEDB提供程序安装在两者上,我可以在两台计算机的注册表中看到它的32位运行时.
程序包在测试计算机上正常运行,但在现场计算机上运行失败.SQL的实时实例似乎无法识别已安装的32位VFPOLEDB提供程序.
SQL实例的唯一区别是实时环境设置了集成服务目录,而测试则没有.查看服务器的日志,当实时启动时,它运行sp_ssis_startup,然后记录有关正在加载的不安全程序集的消息.此SP不在测试环境中运行,因为没有目录.
我创建的作业将标志设置为使用32位运行时,但我不禁觉得SSIS目录与我正在使用的VFPOLEDB有问题,而不是加载它.
我对SSIS目录一无所知,那么有人能够建议我可以进入的任何方向吗?
更新:这是我的工作步骤配置.设置32位运行时标志.

更新#2:
更新#3:
我刚刚检查过,测试和现场环境与我原先说的不一样.实时服务器没有32位版本的dtexec.exe(虽然我认为这不重要,因为TechNet说使用SQL Server代理运行的作业将始终使用64位版本.我想我使用了x86和i64 ISO来设置测试环境,但只有64位版本才能实现.改变这一点需要,我想,从实时框中卸载Integration Services共享组件并使用双iso重新安装它.
我想设置"使用32位运行时"选项只有在使用32位版本时才有效吗?这可能解释了一些事情
ssis oledbconnection visual-foxpro sql-server-2012 ssis-2012
我在VS 2013中使用SSIS.我需要从1个数据库中获取ID列表,并且使用该ID列表,我想查询另一个数据库,即SELECT ... from MySecondDB WHERE ID IN ({list of IDs from MyFirstDB}).
我最近在每个SSIS包中使用此错误(使用Visual Studio 2012),当我想打开OLE DB源组件时:
===================================
Method not found: 'Void Microsoft.DataTransformationServices.DataFlowUI.DataFlowConnectionPage.set_DataPreviewTimeout(Int32)'. (Microsoft Visual Studio)
------------------------------
Program Location:
at Microsoft.DataTransformationServices.DataFlowUI.OleDbSourceUI.SetConnectionPageDescriptions(DataFlowConnectionPage connectionPage)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowAdapterUI.AddCommonConnectionPage(DataFlowComponentForm form, String helpKeyword)
at Microsoft.DataTransformationServices.DataFlowUI.OleDbSourceUI.AddPagesToForm(DataFlowComponentForm form)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowComponentUI.EditImpl(IWin32Window parentControl)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowComponentUI.Edit(IWin32Window parentWindow, Variables variables, Connections connections)
Run Code Online (Sandbox Code Playgroud)
它上周运作良好,从那以后我认为我没有改变任何东西.有什么建议?
sql-server ssis sql-server-2012 visual-studio-2012 ssis-2012
我有一个ssis项目,其中主包包含许多子包.使用执行包任务调用所有子包.我需要将master的"开始日期"值传递给所有子包.我知道我们有参数绑定选项,我们可以在其中传递变量值,它仅适用于项目引用.但问题是所有子包的引用类型都是"外部引用".因此禁用参数绑定.是否有任何方法可以将值从父级传递给子级以用于引用类型:"外部引用".我正在使用SQL Server 2014 Datatools.
我有SSIS包,它将包含1000万条记录的2.5 GB数据导出到Sql Server数据库中,该数据库有10个分区,包括PRIMARY FILE GROUP.
更改默认最大插入提交大小之前,即"2147483647"和每批行.使用快速加载选项完成转换需要7分钟.
但是在用一些公式来衡量一些不错的价值之后,执行只用了2分钟就完成了.
FYI- DefaultMaxBufferRows和DefaultMaxBufferSize 分别是scenorio中的默认值,即10000和10 MB.
计算最大插入提交大小和每批行数 使用下面的计算.
1)计算来自传输源的记录长度.大约1038个字节.
CREATE TABLE [dbo].[Game_DATA2](
[ID] [int] IDENTITY(1,1) NOT NULL, -- AUTO CALCULATED
[Number] [varchar](255) NOT NULL, -- 255 bytes
[AccountTypeId] [int] NOT NULL, -- 4 bytes
[Amount] [float] NOT NULL,-- 4 bytes
[CashAccountNumber] [varchar](255) NULL, -- 255 bytes
[StartDate] [datetime] NULL,-- 8 bytes
[Status] [varchar](255) NOT NULL,-- 255 bytes
[ClientCardNumber] [varchar](255) NULL -- 255 bytes
)
Run Code Online (Sandbox Code Playgroud)
2)每批行数=每个记录的packate_size /字节数= …
sql-server ssis business-intelligence sql-server-2012 ssis-2012
使用SSIS 2012.我的平面文件连接管理器我有一个分隔文件,其中行分隔符设置为CRLF,但是当它处理文件时,我有一个文本列,其中包含一个文本列LF.这导致它将其读作行终止符,导致其失败.有任何想法吗?
2011年有关于Microsoft SQL Server OLEDB访问退出的公告,现在我听说它已经弃用了SQL SERVER 2014?但是,从下面链接的MSDN页面来看,SSIS 2012-2016中的折旧功能并不明显.我还检查了SQL SERVER 2012-2016的弃用页面,它也没有提及.
但是,MSDN上的博客似乎仍然坚持:
所以我的问题是:
您使用OLEDB到ODBC的经验
我正在查询ssis catlog以找出目录中所有包的名称.
Folder1项目中只有6个包,但查询提供了9个记录
1. SELECT P.NAME FROM SSISDB.internal.projects PRJ INNER JOIN
SSISDB.internal.packages P ON
P.project_version_lsn=PRJ.object_version_lsn WHERE
PRJ.NAME='Folder1'
Run Code Online (Sandbox Code Playgroud)
它是否也显示项目中已删除的包.