Tag: ssis

从Exceldynamic命名范围加载SSIS

我正在尝试创build一个SSIS包,它将从Excel电子表格中的命名区域加载数据。 由于我们导入的行数在加载之间会有所不同(并且我们不一定会相信业务用户在发送工作簿之前重新定义已命名的范围),所以命名的范围需要是dynamic的。 这可以使用OFFSET公式:我们将命名范围定义为=OFFSET([reference to header row], 0, 0, [formula that calculates number of rows]) 。 到现在为止还挺好。 但是,看起来SSIS不能使用这个命名的范围。 它不会出现在Excel源代码编辑器中的Excel工作表/对象的下拉列表中,它会在我尝试直接input时抱怨该对象不存在。 有谁知道在SSIS负载中使用这种命名范围的方法吗? 或者也许是解决问题的另一种方式? [注:我正在使用Office 2010和SSIS 2014.]

SSIS文件系统任务复制到新的Excel文件名w /datevariables未find

我有一个SSIS文件系统任务复制一个Excel模板,并创build一个附加date。 我得到错误说:“没有find连接,当没有find特定的连接元素时,Connection集合抛出了这个错误。 没有find,因为我正在努力! 前面的错误说:“错误在文件系统任务:无法lockingvariables”c:\ Reports \ Unregistered_20150915.xlsx“的读取访问错误0xC0010001variables无法find。当尝试从在程序包执行期间,容器上的variables集合,variables不存在,variables名称可能已经更改,或者variables未被创build“。 我是新来的,我想要做的就是每晚运行一个程序,并把结果放在一个新的Excel文件中,date名称追加到最后。 我的计划是把一个空白的工作表/文件,并将其复制到一个新的文件,然后执行服务器上的过程加载到这个新的文件。 正如你所看到的,variables填写的date就好了,所以我不明白它是如何说variables不能find。 我已经使用这些页面的指导,但我正在采取一些这一些,显然缺less之间的东西: 在SSIS中使用expression式和SSIS 将date包括在文件名中 :将查询结果导出到文件任何build议,文章或video将非常赞赏。

将日,周和年转换为date

我已经给出了一个excel文档,其中logging了工作时间信息,这个文档包含了一些在Visual Studio中使用SSIS读取的列,然后将这些信息写入数据库。 星期和年份列包含星期数和年份,星期一至星期五的列包含有关在一周中的某一天的某个任务上花费了多less工作小时的信息。 我想要做的是采取WeekNr,年和date,并将其转换为date。 我一直试图通过使用一个脚本组件来转换date编号,星期编号和年份到一个date,但到目前为止我还没有能够从列中获取天数。 在我看来,如果在开始和结束date中使用该date的第一个和最后一个date,这将是最好的。 所以我的问题是,如果有人知道如何做到这一点,或者如果我应该尝试一种不同的方法。 脚本组件: public override void Input0_ProcessInputRow(Input0Buffer Row, CultureInfo cultureInfo, int day ) { DateTime firstDayOfYear = new DateTime(Int32.Parse(Row.Jaar), 1, 1); int firstWeek = cultureInfo.Calendar.GetWeekOfYear(firstDayOfYear, cultureInfo.DateTimeFormat.CalendarWeekRule, cultureInfo.DateTimeFormat.FirstDayOfWeek); int dayOffSet = day – (int)cultureInfo.DateTimeFormat.FirstDayOfWeek + 1; Row.TaskDates = firstDayOfYear.AddDays((Int32.Parse(Row.Week) – (firstWeek + 1)) * 7 + dayOffSet + 1); }

Excel错误 – 组件未处于有效状态。 外部列不同步

我有一个读取Excel文件的SSIS包。 我正在使用SQL命令来读取数据。 SELECT * FROM [CMPanel$A4:CR] 这工作正常。 excel电子表格将更新为添加到底部的新数据。 所以我抓住了最新的文件,备份了我的最新的文件,并把最新的文件。 现在当我点击Excel Source的数据stream时,我得到以下内容; 该组件未处于有效状态。 validation错误为:{8746F0E0-E404-4F5D-A52B-97BD52E63E43}的警告[读取应用程序configuration文件Excel Source [1]]:组件“Read Application Profile Excel Source”的外部列(1)与数据源列。 外部列“NoName12”(299)需要从外部列中删除。 NoName12是我的列CR 。 没有什么改变。 数据依然存在于这一列。 为什么突然这个专栏抱怨呢? 所以我打开了最新的Excel文件,然后到最下面,将这个新的excel文件中的44个新行复制到备份文件中。 我保存这个作为我的新文件和SSIS包是好的。 生产中我无法做到这一点。 我们所要做的就是将较新的.xls放到文件夹中。 为什么SSIS认为元数据改变了呢?

在SQL FROM语句中使用'*'来访问Excel单元格范围

我有一个将.xlsx文件转换为.csv文件的脚本,但此脚本使用Excel中的单元格区域来读取数据。 该脚本正在工作,但我希望扩大它,以防止可能的用户错误。 用于selectExcel单元格范围的查询(在SQL中 ): string query = "SELECT * FROM fileName"; 我想要做的是让脚本select一个“所有”种类的范围,以便如果用户更改文件名仍然工作。 喜欢这个: string query = "SELECT * FROM User_*"; User_将是每个文档的标准,但是在用户可以改变_之后。 在这种情况下,使用*不被接受为ALL,而且我似乎无法find可行的东西。

为什么SSIS忽略从Excel源文件导入的最后一列?

我是一名商业智能开发实习生,所以请原谅我,如果我不像SQL或Microsoft BI Stack那样精通。 我试图将数据从Excel文件(.xls)导入到SQL Server数据库表中,出于某种原因,连接pipe理器完全忽略了最后一列数据。 为了使事情变得更加陌生,如果我在Excel中打开Excel文件时尝试在SSIS中设置连接pipe理器,SSIS将读取数据。 (我想我一开始是无意的,结果感到惊讶。) 以下是Excel中未打开文件的数据预览: 在SSIS中设置连接pipe理器之前,打开文件预览数据: 这两个描述文件中的数据结束,但由于某些原因,你可以看到,第一个数据预览中省略了“区域”列。 到目前为止我尝试的步骤: 使用脚本任务转换为.csv文件 使用ADO.Net源代码并读取excel数据 使用SQL命令查看数据而不是从表或表中select 更改OpenRowset属性以指定列 有关源文件的细节: 前3行数据是空的(除了图像) 第4行包含标题数据 “区域”一栏的格式与一般情况一样,每一列不包含date 如果有人有任何想法或build议,我会非常感激的反馈意见。 谢谢!

使用SSIS将数据从多个SQL表导出到同一个Excel文件中的多个工作表中

我已成功地使用SSIS在同一个Excel文件中生成多个Excel工作表,其中所有列都包含相同types的数据。 我能够实现这个使用这个链接的build议: https : //social.msdn.microsoft.com/Forums/en-US/6f4a5b98-6373-4f7e-8d03-0876d0b4b611/loading-data-from-multiple-tables- excel-using-ssis?forum = sqlintegrationservices,并在此链接中详细说明: https : //social.msdn.microsoft.com/Forums/en-US/2421d9aa-5347-4f24- a78b-da02eb644f5f /出口-SQL服务器表-到-多张合的Excel?论坛= sqlintegrationservices 对于我正在处理的新项目,我试图将具有不同列和数据的多个SQL表中的数据导出到同一个Excel工作簿中的多个工作表中。 由于每个表的数据都不相同,因此上例中的数据stream任务似乎不是dynamic的,以允许更改列和数据转换。 我知道这是可能的使用SQL Server导入和导出向导,但我正在看超过200个表。 而是使用SELECT TABLE_NAME FROM information_schema.tables查询将所需的表名传递给SSIS中的对象variables。 也许有一个脚本可以处理这个问题。 我是SSIS的新手,尽pipe多年来一直没有使用VB,但我愿意用它或其他方法来达到这个目的。 我错过了什么吗? 这个过程在SSIS中是可行的吗?

如何将Excel文件转换为CSV(逗号分隔值)SSIS包中的文件

我需要使用SSIS将excel数据导入netezza。 有一些列,我的第一个100-200行是空的,由于我得到空作为该列的输出。 我需要我的输出为0的列(其中只有十进制和数字数据types)的行是空的和''(空)的列(Varchar,char数据types)行是空的。 我相信唯一的方法是使用脚本任务,如果有人可以分享脚本,将不胜感激。 如果在这种types的问题有更好的解决scheme,而不改变Excel的财产,那么请分享。

无法使用SSIS将EXcel文件导入到Cassandra中 – 列条件中的空值无效

其实我想导入一个简单的excel文件与一个coloumn和一行cassandra换句话说,我想testing是否我们可以从ssis windwos导入到安装到虚拟机linux的cassandra? 为了testing这个目标,我做了以下步骤: 我安装cassandra在虚拟机ubunto和它有IP 10.20.14.99单独和我的主机是Windows 8我安装ssis和它有虚拟机的IP范围。 桥接适配器,使它们成功连接主机和虚拟机。 在cassandra.yaml这是cassandra的configuration文件,我将rpc_address更改为虚拟机的IP而不是本地主机。 原因是当我想从ssis远程调用cassandra我应该在我的cassandra上设置这个configuration。 此外,我在Windows 8上安装odbc驱动程序64位和32位,并定义我的dsn correctl为了将ssis连接到我的cassandra 我在cassandra中定义了一个名为id的列,这个列是主键也是我的表没有任何logging。 我也创build一个简单的Excel文件与一个coloumn编号与两行。 我想插入这两行cassandra 我成功地可以从ssis连接到cassandra并在cassandra中预览我们的结果集。 因为我没有在卡桑德拉有任何logging没有结果集。 我的卡桑德拉是空的。 我用xls格式的excel文件有两行。 当我执行我的包时,数据stream如下所示: 在这里input图像说明 ,我把条件拆分的原因是检查ID列是否为空。 该stream程表明,从id列的angular度看,两行不是空的,并且成功地redirect到odbc目的地进行插入操作。 在这里input图像说明 我面对的错误: 错误:插入时,0x384,ODBC目标[41]:发生开放式数据库连接(ODBC)错误。 插入第1行时SQLExecute返回错误错误:插入时为0x384,ODBC目标[41]:发生开放式数据库连接(ODBC)错误。 状态:“HY000”。 本地错误代码:10. [DataStax] [CassandraODBC](10)在Cassandra中执行查询时出错:[33563136]: 条件中列ID为无效的空值错误:插入时为0xC0047022,SSIS.Pipeline:SSIS错误代码DTS_E_PROCESSINPUTFAILED。 处理input“ODBC目标input”(52)时,组件“ODBC目标”(41)上的ProcessInput方法失败,错误代码为0x80004005。 标识的组件从ProcessInput方法返回一个错误。 错误是特定于组件的,但错误是致命的,并且会导致数据stream任务停止运行。 在此之前可能会发布错误消息,提供有关失败的更多信息 我不知道如何处理这个错误althogh我在条件分割处理空列我得到困惑PLZ帮助我在其他职位后我开始包我日志我caasandra日志

使用SSIS运行Excelmacros

我有一个运行一系列SSRS报告的SSIS包,并将它们作为.xlsx文件保存在一个文件夹中。 我也有一个Excel文件,通过保存每个.xlsx文件的macros,合并成一个文件,格式并保存在另一个文件夹。 现在这是一个两步的过程,所以我的目标是只做一步。 要做到这一点,我试图添加一个脚本任务到我的SSIS包的末尾打开我的Excel文件与macros并运行它。 我在网上寻找解决scheme,发现很多似乎为人们工作,但不为我工作。 具体来说,我正在使用这个网站的代码。 现在,当我填充代码时,将我的引用添加到Microsoft Excel 15.0 Object Library ,并将Imports Microsoft.Office.Interop添加到我的脚本的顶部,我得到一些代码错误。 请看下面的截图: 我得到的错误是: 使用No-PIA模式链接组件时,不允许引用类“ApplicationClass”。 我发现这个网站似乎有人有类似的问题,但它并没有帮助我与我的。 有什么我在脚本的地方做错了吗? 请参阅下面的脚本本身。 ' Microsoft SQL Server Integration Services Script Task ' Write scripts using Microsoft Visual Basic 2008. ' The ScriptMain is the entry point class of the script. Imports System Imports System.Data Imports System.Math Imports Microsoft.SqlServer.Dts.Runtime Imports […]