Tag: ssis

导入exceldate列和提供缓慢更改维度时出现SSIS错误

我希望有人遇到这个可以帮助我,因为我在这里拉我的头发。 我有一个Excel表,有一堆列,其中之一是date列。 当我使用Excel Source并将其链接到Slowly Changing Dimension转换时,一切都变得非常好,直到我单击最后一个button来configuration组件,然后我收到以下消息。 date列作为DB_DATEtypes来自excel,而数据库列是date。 我试过做数据转换和派生列来强制date,但仍然没有爱。 有任何想法吗? 这是错误: 数据stream任务错误[SSIS.Pipeline]:组件视图不可用。 确保组件视图已被创build。 数据stream任务错误[缓慢变化的维度[26]]:input列“input列”TargetDate“(94)”不能映射到外部列“外部列”TargetDate“(87)”,因为它们具有不同的数据types。 Slowly Changing Dimension转换不允许在DT_STR和DT_WSTR以外的不同types的列之间进行映射。 我也成功地使用了一个标准的OLEDB目的地与这个相同的Excel表和一个date字段,它导入整个表格,所以我不明白为什么它有一个问题,使用慢变尺寸。

Excel连接pipe理器的EzApi问题

EzApi是用来创buildSSIS包的,包通过oledb连接pipe理器读取excel文件(microsoft.ace.oledb.12.0)当我在读取excel文件的数据stream之后创buildEzExecSQLTask对象时, 我得到了exception: object does not match the target type 在debuggingEzApi代码后,我发现下面一行是生成exception host.Properties["TimeOut"].SetValue(host, value); 似乎当属性通过reflection设置时,它不会find目标对象。 代码在widows xp机器上工作正常,但在Windows Server 2012上造成这个问题。 堆栈跟踪 at System.Reflection.RuntimeMethodInfo.CheckConsistency(Object target) at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo […]

SSIS – 从最新的excel文件中提取文件夹

我正在创build一个SSIS包,理想情况下: 通过文件夹读取 抓取最新文件的文件名和表名 将文件名和图纸名称传递到连接pipe理器上 只提取并加载最新的文件到数据库中 该文件夹将定期更新最新版本的文件。 有问题的文件将有3张,按特定顺序依次加载。 最好我想通过文件的最新写入时间来抓取文件,而不是使用文件名。 每次上传文件名称本身都会有所不同。 我已经创build了一个控制stream程,用于在将表单加载到数据库中时按照正确的顺序进行提取和加载,但是它只能从Excel连接pipe理器中的指定文件读取: Sheet1:Excel Source – > OLE DB Destination Sheet2:Excel Source – > OLE DB Destination Sheet3:Excel Source – > OLE DB Destination 我发现的内容涉及将文件名作为variables传递给连接pipe理器,但是我find的示例也没有考虑表单名称。 请有人帮助我使这更具活力? 我正在使用SQL Server 2012并在Visual Studio 2010中进行devise。

Excel源和目标SQL Server表中的SSISdynamic列映射

我有一个要求,我需要在SQL Server表中转储我的Excel数据。 excel文件可能会有所不同(每次不同的列号),并且对于每个excel源文件,每次在SQL Server中都必须创build一个新表。 我尝试过使用SSIS任务来处理input/输出列之间的映射,必须在包中进行预定义。 另外,在执行“OLE DB目的地”任务之前,我正在转储数据的目标表必须存在。 为了克服一些限制,我没有做什么解决方法: 在我的数据库中创build了一个带有50列的示例表(因为这是我在源代码excel中的任何时间点上可以使用的最大列数)。 执行包之前,我拿一个样本表的副本给它一个名字,因为我需要为每个源有不同的表。 dynamic传递Excel源文件通过C#代码和SSISvariables打包。 由于我的初始映射是在包中的50个input/输出列之间,当下一个excel到达包的时候没有更less。 的列,包执行失败。 我正在通过C#代码运行包,也是当我独立运行这个包在BIDS传递SSISvariables值本身,它失败与无效列引用错误。 我必须通过代码来运行这个包,我不能每次都在失败时重新映射它。 我不能在这个论坛上粘贴Package的快照。 它是一个简单的包,有2个任务,即“Excel来源”和“OLE DB目的地”。 我面临的唯一问题是dynamic映射包。 rest一切工作正常。 这个你能帮我吗。 提前致谢!! using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.SqlServer.Dts.Runtime; namespace SSRSReports { public partial class About : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { btnpkg.Visible = […]

在使用SSIS将其加载到目标表之前,如何在excel中合并列标题名称

有一个Excel表格(这个屏幕截图只是一个部分,它显示了800列以上的前5列!),下面提到的格式。 列名在第4行。需要使用SQL SERVER INTEGRATION SERVICE(SSIS)将其加载到表中之前,将列名作为第3列和第4列的组合。如何导入文件以满足要求? 目标表中所需的列名示例: – [Plcn Pyll SUM 00BASELINE] [Plcn Pyll SUM 04QUARTER_2014_15_Q1] [Plcn Pyll SUM 08QUARTER_2014_15_Q2] 如何导入excel文件以符合要求? (SSIS平面文件连接pipe理器有一些限制吗?那么这个必须在excel vb级别处理?) 如果我将excel转换为txt并尝试使用平面文件连接pipe理器导入,则显示“ there is more than one data source column with same name ”。 00BASELINE在800栏标题中出现了00BASELINE 。

SSIS:“错误:expression式的结果”@ …不能写入属性“

我一直在尝试过去10个小时来解决以下问题: 我有一个ForEach循环容器,枚举我的控制stream中的Excel文件名。 在ForEach循环容器中,我有一个将数据导入到Sql-Server的Excel Source。 这连接到派生列转换使用User :: FileName作为expression式连接到一个OLE DB命令映射到User-FileName到Report_Date(Excel文件名称包含报表date)列在Sql-Server中相关的行。 以下是我的控制stream的片段: 我不断收到以下exception: Error: The result of the expression "@[User::FileName]" on property "\Package\Foreach Loop Container 1\Data Flow Task.Properties[[Derived Column].[Derived Column Output].[Derived Column 2].[FriendlyExpression]]" cannot be written to the property. The expression was evaluated, but cannot be set on the property. 我试过了我所知道的一切,无法摆脱它。 用尽选项。 我错过了在这个过程中的一个步骤?

无法从SSIS包作业打开xlsm文件

我有一些SSIS作业打开一些Excel文件并操作它们。 作业中打开Excel文件的任务在每个作业中基本相同,只是指向一个不同的Excel文件。 这些工作除了一个以外都能正常工作。 但是,即使这个从包中手动运行,而不是在工作。 适用的代码是: Dim reportLocation As String Dim oXL As Microsoft.Office.Interop.Excel.Application Dim oWB As Microsoft.Office.Interop.Excel.Workbook reportLocation = "\\testlocation\share\test.xlsm" 'Open Excel instance oXL = New Microsoft.Office.Interop.Excel.Application oXL.Visible = False 'Open the Excel file to edit oWB = oXL.Workbooks.Open(reportLocation) 'Error here 收到的错误如下: Microsoft Excel不能访问文件'\\ testlocation \ share \ test.xlsm'。 有几个可能的原因: ?文件名或path不存在。 •该文件正在被另一个程序使用。 ?试图保存的工作簿与当前打开的工作簿具有相同的名称。 在Microsoft.Office.Interop.Excel.Workbooks.Open(string文件名,对象更新链接,对象ReadOnly,对象格式,对象密码,对象WriteResPassword,对象IgnoreReadOnlyRecommended,对象源,对象分隔符,对象可编辑,对象通知,对象转换器,对象AddToMru,Object Local,Object […]

试图用pivot和ssis导入excel文件

我试图将表转换到SQL Server 2008 R2。 用SSIS或t sql代码 源excel文件是这样的。 date 1/1/2000 2/1/2000 money 5 7 name Julie tom 我想使第一列成为列名称。 date money name 1/1/2000 5 Julie 2/1/2000 7 tom 最简单的方法是什么? 枢轴转换? SQL代码? 谢谢!

如何将行转换为具有dynamic值的SQL或SSIS中的列

我有以下表格每日数据保存: 我需要读取最近7天的数据,并将行转置为列以将其保存在Excel报表中。 我试图用SSIS自动化这个。 请注意,这里的转置后行为的date将基于过去七天的dynamic,所以我不能在透视函数中使用静态列名称。 所需的输出将如下所示: 请build议如何通过MS-SQL或SSIS完成输出。 提前致谢。 以下是表架构和示例数据: IF OBJECT_ID('tempdb..#PriorityTrends') IS NOT NULL DROP TABLE #PriorityTrends CREATE TABLE #PriorityTrends ( CountDate DATETIME, [Priority 1] INT, [Priority 2] INT, [Priority 3] INT, [Priority 4] INT, [Priority 5] INT, Total INT ) INSERT INTO #PriorityTrends VALUES ('6/24/2014', 163, 235, 741, 265, 1932, 1404) INSERT INTO #PriorityTrends VALUES […]

自动生成通过SSIS生成的Excel中的图表?

我有以下要求, SQL Server 2008计划作业在早上9点运行。 这个工作应该发送一个工作簿(工作簿1)中的数据和下一个工作簿(工作簿2)中附带的图表的电子表格。 数据必须具有来自SQL表的值。 图表必须反映工作簿1中的值。 这张表应该邮寄给n个用户。 n个用户甚至不知道sql服务器,不知道服务器的用户名和密码。 他们必须只有两个工作簿的电子表格。 我决定做下面的事情 1)创build一个将数据格式化成表格的存储过程2)调用一个SSIS,将数据复制到excel的workbook1中3)在同一个excel的workbook2中创buildGraph 第一点和第二点,我已经完成了。 活动1和2之后,我会在excel下面有一些东西 Workbook1: Date | Column A | Column B | Column C | 10-7-14 | 0983883 | 09433344 | 4443333 | 11-7-14 | 0986444 | 06875544 | 4689073 | 我真的不能够做这个活动3.活动3必须从上面的表中取得值,并在工作簿2中创build图表 我知道可以用SSRS来完成,但是我想知道其他的方法,因为我们只有SSIS,而SSRS完全不在范围之内。 由于某些原因,SSRS被限制在我们的系统中使用。 我已经尝试过不同的方式来做到这一点。 (在SSIS的excel模板的workbook2中创build了一个dynamicgraphics,并将值传输到workbook1呈现graphics,但不能令人悲伤)。 我无法使用提供给SSIS的空的Excel模板创builddynamicgraphics。 Excel是这里的问题,它不允许任何预定义的graphics。 它总是期望创造一个图表的价值。 我也可以去一个VBA的macros选项,(如创build一个button,让用户点击button来生成图表),但我不确定是否是一个可行的? Excel专家请帮忙! 我可能听起来像是一个业余爱好者,但请原谅我,因为我是SSIS的新手,没有一位同事知道如何去做,而且我所做的研究也得不到什么结果,这有点令人沮丧。