标签: ssis

当数据库列定义为VARCHAR(MAX)时,如何使用SSIS传输数据?

我在执行包时收到以下消息.

文本被截断或目标代码页中的一个或多个字符不匹配.

我从一个SQL表中获取数据,该表具有task_teammember数据类型的字段名称VARCHAR(MAX).包裹执行在源头失败.I型铸造列task_teammberVARCHAR(8000)其中没有任何错误信息执行该包.但是,目标只接收8000个字符,而源表中的字符数超过8000个.

当列定义为VARCHAR(MAX)?时,如何使用SSIS将所有数据从源表传输到目标表?

ssis

25
推荐指数
1
解决办法
6万
查看次数

如何确定通信链路故障的根本原因TCP提供商:指定的网络名称不再可用?

这是我最近修改这个问题的努力.但是这一次,我试图遵循Oded在他的文章中获得的好建议在StackOverflow上获得好的答案.

我需要找出如何确定以下错误的根本原因:

通信链路故障

TCP提供程序:指定的网络名称不再可用

有时,我在运行一组SSIS包时看到此错误.运行一到多个包时可能会发生此错误:

  1. SQL Server代理作业
  2. 批处理文件
  3. 在BIDS的调试模式下

我看到的完整错误消息如下:

SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"通信链接失败".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"TCP提供程序:指定的网络名称不再可用.".

SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"TDS流中的协议错误".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"通信链接失败".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"TCP提供程序:远程主机强行关闭现有连接."

这是我如何设计ETL过程的概述:

  • 两台服务器
  • 两者都是虚拟机
  • SSIS包在应用程序服务器上运行
  • SQL Server数据库位于数据库服务器上

我使用OLE DB连接管理器从应用程序服务器上的SSIS包连接到数据库服务器上的SQL Server数据库.

这些包在应用程序服务器上作为文件系统部署运行,而不是在数据库服务器上作为数据库部署运行.

这样做的主要原因是ETL与一组找不到的工具集成,并且驱动器无法访问数据库服务器.这些工具包括适用于Salesforce的Apex Data Loader和pgAdmin III.

到目前为止,我无法一致地重现此错误.但是,这是我观察到的:

  • 在正常工作时间内更频繁地发生故障
  • 在非工作时间发生故障的次数较少

在星期五早上大约两个小时的时间里,我能够成功地重现特定包装上的错误.

如果启用了大数据流之前的子包调用,则在大数据流期间发生错误.

如果禁用了大数据流之前的子包调用,则在同一大数据流期间不会发生错误.

有问题的子包回调数据库以检索少量信息以便在电子邮件正文中使用,然后发送电子邮件.

感觉可能超出了资源限制?

也许连接限制?

我想知道我应该使用什么工具来尝试确定错误的根本原因.

有关这两个服务器的技术细节如下:

SQL Server和数据库服务器信息:
Microsoft SQL Server 2008 R2(SP1) - 10.50.2500.0(X64)2011年6月17日00:54:03版权所有(c)Windows …

networking ssis virtual-machine sql-server-2008 windows-server-2008

25
推荐指数
1
解决办法
4万
查看次数

如何在SSIS包中执行自动单元测试?

如何对SSIS包进行单元测试?我希望能够为各种组件创建和维护单元测试,例如工作流任务,数据流任务,事件处理程序等.

是否有可以使用的现有技术,框架和/或工具?

sql-server unit-testing ssis

24
推荐指数
2
解决办法
1万
查看次数

安排SSIS包执行

如何安排SSIS每天在给定时间从文件自动执行包?

ssis scheduled-tasks

24
推荐指数
2
解决办法
5万
查看次数

如何修复"找不到自定义操作文件的安装项目"异常?

我正在尝试为Windows服务创建一个安装项目.我已按照http://support.microsoft.com/kb/816169上的说明创建安装项目,没有任何问题.

我希望能够在安装过程中获取一个值,以便使用用户所需的设置更新app.config.我添加了一个Textboxes(A)对话框来检索值.我设置了Edit1Property属性设置为"TIMETORUN",并在我的主输出操作的CustomActionData属性我把以下内容:/ TimeToRun ="[TIMETORUN] \".到现在为止还挺好.运行设置我可以从Context.Parameters集合中检索TimeToRun值而不会出现问题.

为了找到app.config,我还需要将TARGETDIR Windows Installer属性的值传递给我的自定义操作.事情开始分崩离析.为了实现这一点,必须改变上面的CustomActionData:/ TimeToRun ="[TIMETORUN] \"/ TargetDir ="[TARGETDIR] \".现在,当我运行安装程序时,我收到以下错误消息:

错误1001.初始化安装时发生异常.System.IO.FileNotFoundException:无法加载文件或程序集'file:/// C:\ Windows\SysWOW64\Files'或其依赖项之一.该系统找不到指定的文件.

如果谷歌这个问题,你将不可避免地发现通过简单地添加斜线到其巨大成功的人/ TARGETDIR ="[TARGETDIR] \"中的部分CustomActionData.遗憾的是,这并没有解决我的问题.

我尝试了很多不同的CustomActionData字符串变体,但没有一个工作.我试图登录到从我重写文件安装方法来确定破损了,不过没有创建日志文件,因为它甚至没有得到那么远.如错误所示,失败是在初始化步骤期间.

我有一种预感,它可能是安装项目试图加载的依赖项之一.也许某种东西被附加到CustomActionData字符串并且不能很好地与TARGETDIR值(包含空格,即"C:\ Program Files\My Company\Project Name")一起使用.同样,这是另一种预感,由于我无法调试设置过程,我似乎无法确认.

还有一点需要提及,是的,这是另一种预感,这可能是64位版Windows上安装项目的问题吗?我正在运行Windows 7 Professional.

我将提供依赖项的名称,以防它有用:

  • Microsoft .NET Framework
  • Microsoft.SqlServer.DtsMsg.dll
  • Microsoft.SqlServer.DTSPipelineWrap.dll
  • Microsoft.SqlServer.DTSRuntimeWrap.dll
  • Microsoft.SQLServer.ManagedDTS.dll
  • Microsoft.SqlServer.msxml6_interop.dll
  • Microsoft.SqlServer.PipelineHost.dll
  • Microsoft.SqlServer.SqlTDiagM.dll

正如您可能从依赖项中收集的那样,Windows服务正在安排对DTSX包的调用.

对不起,长期咆哮.感谢您的任何帮助,您可以提供.

ssis windows-services custom-action setup-project

24
推荐指数
1
解决办法
1万
查看次数

为什么在SSIS插入期间我的触发器不会触发?

我有一个带有OLE DB Destination组件的SSIS数据流任务,它将记录插入带触发器的表中.当我INSERT对该表执行一个普通语句时,触发器会触发.当我通过SSIS任务插入记录时,触发器不会触发.

如何在SSIS中触发触发器?

sql triggers ssis bulkinsert

24
推荐指数
2
解决办法
2万
查看次数

如何配置SSIS 2012项目以在不同的环境配置下运行?

使用项目部署模型配置2012 SSIS项目的最佳逻辑方法是什么?

考虑MyImport-Project具有三个包的SSIS项目的场景

项目解决方案

  • MyImport项目
    • 进口包装-01
    • 进口包装-02
    • 进口包装-03

项目变量:

  • Project-DBConnString:所有包用于连接到单个数据库.
  • Project-FolderPath:所有包用于查找输入文件

环境:

项目部署在上面

  • QA服务器
  • 登台服务器
  • 生产服务器

是否有配置项目参数的标准方法?

我在包的配置文件上看到了不少文章.有没有办法根据部署环境配置项目参数?

deployment ssis sql-server-2012

24
推荐指数
2
解决办法
5万
查看次数

DT_Decimal数据类型截断十进制

我有一个平面文件源,它可以获取注释量列的十进制值.Source系统指定这是一个DECIMAL(12,2)文件.我将SSIS中的列设置为DT_Decimal

文件

其中一个金额的特定Flat文件的值为122735.13.但是,如果我在数据源之后放置数据查看器,它似乎正在减少小数.

数据流

ResultsCut

知道为什么会这样吗?作为参考,我将转到Decimal(12,2)SQL Server 2012数据库.

sql-server ssis sql-server-2012

24
推荐指数
1
解决办法
3万
查看次数

如何修复SSIS中的多步​​OLE DB操作错误?

我正在尝试制作DTS包以在同一服务器上的两个数据库之间传输数据,并且我收到以下错误.我读到,当您在不同的数据库类型之间进行传输并且精度损失时,可能会发生多步OLE DB操作生成错误,但这不是这种情况.如何检查列元数据?

错误:0xC0202009在数据流任务,piTech [183]​​:发生了OLE DB错误.错误代码:0x80040E21.OLE DB记录可用.来源:"Microsoft SQL Native Client"Hresult:0x80040E21说明:"多步OLE DB操作生成错误.检查每个OLE DB状态值,如果可用.没有工作.".

错误:数据流任务中的0xC0202025,piTech [183]​​:无法创建OLE DB访问器.验证列元数据是否有效.

错误:数据流任务中的0xC004701A,DTS.Pipeline:组件"piTech"(183)未执行预执行阶段并返回错误代码0xC0202025.

sql-server ssis

23
推荐指数
3
解决办法
17万
查看次数

生成脚本 - 仅限数据 - 发现循环依赖性错误

我正在尝试生成数据库中所有数据的脚本,因此我可以将数据移动到另一台服务器上的相同数据库.在SQL Server 2012中,我右键单击源数据库

任务>生成脚本>脚本整个数据库和所有数据库对象>高级>脚本的数据类型:仅限数据

这给了我一个关于Cyclic依赖的错误.如果我将数据类型更改为脚本到架构和数据,它会生成正常的.如何解决此问题仅适用于数据?

操作结果从MyDatabase获取对象列表失败

详细报告:

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException:脚本编写对象时发生错误.---> Microsoft.SqlServer.Management.Smo.SmoException:找到循环依赖项.在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary 2 dictionary, List1 sortedList,HashSet 1 visited, HashSet1 current)在Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(Int32 num,Dictionary 2 dictionary, List1 sortedList,HashSet 1 visited, HashSet1 current)在Microsoft .SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal(的Int32 NUM,字典2 dictionary, List1排序列表,HashSet的1 visited, HashSet1电流)Microsoft.SqlServer 2 dictionary) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDataSet(List.Management.Smo.SmoDependencyOrderer.SortDictionary (Dictionary 1 objectList,Dictionary 2 idDictionary, DataSet ds) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ExecuteQueryUsingTempTable(List1 objectList,List 1 urns 1 list, String query) at Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.ResolveTableOnlyDependencies() at …

ssis sql-server-2012

23
推荐指数
3
解决办法
8243
查看次数