Tag: ssis

如果数据stream中的某些文件不存在,如何成功运行数据stream任务

我有一个导入excel文件的数据stream任务。 我不能使用每个循环来通过Excel文件,因为每个Excel文件的元数据是完全不同的。 所以在数据stream任务中,我有10个独立的源文件,并使用联合组件将它们合并,然后将其导入到SQL。 我现在面临的问题是有时某些我正在导入的excel文件可能不存在,所以当我的软件包运行时,它会失败,因为文件不存在。 那么有没有什么办法让我创build一个检查,允许程序包跳过不存在的源文件并运行其余的源文件? 我正在使用SSIS 2005。

SSIS Excel错误列

我正在导入一个excel文件并从中获取数据。 在less数string列中,有些行的值为#VALUE! 。 我如何过滤SSIS中的这些行? 我已经尝试检查NULL值,以及检查该行的列是否等于#VALUE! ([ALT_TYPENAME] == "#VALUE!") 但是,行通过并且根本不被过滤。 是否有可能过滤这些? 列被导入为DT_STR。

SSIS:与不同的驱动程序有两个不同的错误。 一个是32位,另一个是64位。 以32位运行会导致另一个驱动程序失败

我正在处理一个SSIS包,它连接到服务器并将数据转储到Excel文件中,然后通过电子邮件将该Excel文件发送到客户端。 我正在使用ADO.net(提供程序:.Net Providers \ Odbc Data Provider)驱动程序来连接服务器,它是64位和Excel目标连接我的本地文件。 当我开始在属性Run64BitRUNtime = true SSDT中运行包时,出现以下错误。 Source: CFEReport Connection manager "Excel Connection Manager" Description: The requested OLE DB provider Microsoft.Jet.OLEDB.4.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service […]

SSIS错误代码:0x80040E37

有一个数据stream任务,它由excel源和sql目标组成。当单独执行数据stream任务时,它运行良好。如果我执行这个数据streamtaks内每个循环aa,它会给出以下错误 [Excel来源[17]]错误:SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。 错误代码:0x80040E37。 [Excel Source [17]]错误:打开“'Sheet Data $'”的行集失败。 检查数据库中是否存在该对象。 [SSIS.Pipeline]错误:“Excel源”未通过validation并返回validation状态“VS_ISBROKEN”。 有没有人有类似的问题!?

使用SSIS脚本任务刷新Excel

我有一个从数据库表中获取外部数据的Excel文件。 我需要自动刷新文件并通过电子邮件发送。 我打算使用SSIS脚本任务来运行一些VB脚本来打开文件,刷新数据,保存并closures(显然不需要启动应用程序)。 那么我将使用电子邮件任务通过电子邮件发送文件。 我所需要的只是刷新文件,并在VB或C#中总是noob的脚本,我不得不问,如果有人有一个脚本,这样做躺在周围,我可以定制我的文件,并在我的脚本任务中使用。 我会感激任何提示! 非常感谢,弗拉德

如何使用SSIS包将大数据集拆分为多个Excel电子表格?

我正面临一个SSIS包的问题。 执行查询以从DataBase(SQL Server 2008)(执行的数据stream任务)获取一些数据 使用Excel Destination将提取的数据导出到Excel 97-2003电子表格(.xls) 正如你们大多数人知道的xls文件是有限的每张到65,536行×256列。 因此,当查询提取超出logging限制(65,536)时,Excel目标步骤失败。 我收到以下错误消息。 Error: 0xC0202009 at Calidad VIDA, Excel Destination [82]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. Error: 0xC0209029 at Calidad VIDA, Excel Destination [82]: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Excel Destination Input" (93)" failed because error code 0xC020907B occurred, […]

从Excel中加载SSIS问题

我已经写了一个SSIS包,它将Excel工作簿中的所有工作表读入数据库。 这主要是工作。 它从工作簿中读取循环中的所有工作表。 唯一的缺点是它读取sheetname ,然后sheetname $ ,所以重复大量的数据。 我对SSIS很陌生,所以不知道如何使用我的Foreach循环(或其中的某些内容)来过滤这个问题。 任何人都可以指向正确的方向吗? 谢谢

SSIS通过C#将Excel数据导入到SQL Server

我刚开始使用SSIS和通过C#处理Excel文件,当我偶然发现这篇文章: 链接 本文介绍如何通过SSIS将Excel数据加载到SQL Server数据库中。 但是,而不是一些select语句,我需要从一个特定的行(例如第9行)开始提取所有的行。 现在我的问题是,我需要哪些代码来改变/擦除,以便让我设置起始行而不需要使用任何头信息? public SourceFileDetails ScanRows(DataSet excelDataSet, string ExtractionStatement, string FindColumn) { if (excelDataSet.Tables.Count < 1) return (SourceFileDetails)null; string ExtractFields = this.ReplaceString(this.ReplaceString(ExtractionStatement, "SELECT", ""), "From [Data$]", ""); List<string> FindStrings = ExtractFields.Split(',').Select(s => s.Trim().Replace("[", "").Replace("]", "").Replace("#", ".").Replace("(", "").Replace(")", "")).ToList(); foreach (DataTable dt in excelDataSet.Tables) { List<ItemValueHolder> FoundAddress = new List<ItemValueHolder>(); int iDuplicates = […]

SSIS Excel导入将string转换为NULL

我dynamic地定义了一个用户variablesxlsFileName和xlsWorksheetName。 在excel连接pipe理器中,excelfilepath指向xlsFileName。 在Excel中,我使用excel连接pipe理器和访问模式表名或视图名称variables,然后使用工作表variablesxlsWorksheetName。 这一切工作正常,数据得到加载,因为它应该。 但现在我注意到,在我的一个列(其中包含数字和string,大部分是数字),所有的string将被导入为NULL,这是完全错误的。 此列的目标数据types是varchar。 我能做些什么来迫使SSIS从excel中导入源代码中的实际值?

在SSIS中使用Excel Interop的问题

我在安装Excel 2007的服务器上的SSIS脚本任务中使用Excel Interop。 几天后,我尝试打开脚本任务时出现错误。 每当我打开代码时,对Interop的引用都会标记一个黄色的警告标志,并且不能引用该命名空间。 我不能通过“添加引用”再次添加它,当我尝试在COM选项卡中添加Excel对象库时,它也添加了黄色警告标志(我找不到错误消息)。 但是,当我不保存更改并且只运行整个项目时,它没有问题。 因此,互操作似乎工作,但它在Visual Studio中找不到。 我试图再次安装PrimaryInteropAssemblies,没有成功。 互操作程序集仍在c:\ windows \ assembly下find。 奇怪的是,没有为程序集提供处理器架构,而是在我的开发机器上。 我试图卸载程序集,然后再次安装,但由于权限不足(即使以pipe理员身份)也无法完成。 我不得不在几天前安装Windows SDK来使用gacutil,这可能是缺less参考的原因吗? 编程语言是Visual Studio 2010中的C#2010。 谢谢, 编辑:我find了一个解决scheme,但它仍然不工作,因为它应该是。 以下是它的工作原理:通过将引用的“指定版本”属性设置为false,可以解决问题。 新的项目可以通过在C:\ Windows \ assembly \ GAC \ Microsoft.Office.Interop.Excel \ 12.0.0.0__71e9bce111e9429c \ Microsoft.Office.Interop.Excel.dll