Tag: ssis

Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute未定义

使用我在这里find的脚本问题是2012年,我正在使用2008年。 我已经处理了所有的个人资料(连接,variables,URLS等)但是当我尝试运行这个脚本时,我总是收到一个错误。 Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute未定义 使用VB。 Imports System Imports System.Data Imports System.Math Imports Microsoft.SqlServer.Dts.Runtime Imports System.ComponentModel Imports System.Diagnostics <Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute()> _ <System.CLSCompliantAttribute(False)> _ Partial Public Class ScriptMain Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase Enum ScriptResults Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure End Enum Protected Sub SaveFile(ByVal url As String, ByVal localpath As String) Dim loRequest As System.Net.HttpWebRequest Dim loResponse As System.Net.HttpWebResponse Dim […]

通过XLSM文件循环SSIS 2012

我有一堆启用了macros的Excel文件。 我想通过一个SQL查询来循环每一个 – select * from [Sheet1$A10:AZ100] 。 当我select了一个文件时,我的Excel连接pipe理器工作,但是当我添加一个For Each Loop Task并将我的variables分配给它时,会出现一个大问题。 我的步骤是: 创build新连接:Excel连接pipe理器我select文件夹中的第一个XLSM文件并点击确定。 拖放每个循环容器并双击。 在集合中:我selectFor Each File Enumerator并在文件夹中指定文件夹path。 在文件中:* .xlsm最后一个选项是:完全合格 在variables映射中:我创build了一个名为“FileFound”的新variables 在每个容器中拖放数据stream任务并双击。 拖动源助手:select上面创build的Excel连接pipe理器 双击Excel来源和数据访问模式:我selectSQL命令。 我的查询是select * from [Sheet1$A10:AZ100] 。 这个查询对于所有的XLSM文件是相同的。 点击列和我的数据显示一切OK 现在这是问题开始的地方 – 右键单击Excel连接pipe理器,然后点击属性。 我先复制我的连接string。 我的连接string是: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Excel data\ABCDE.xlsm;Extended Properties="Excel 12.0 MACRO;HDR=YES"; 我单击expression式并select属性中的连接string。 接下来我编辑我的expression式为: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::FileFound] + " ;Extended Properties=\"Excel 12.0 MACRO;HDR=YES\";" […]

导出到Excel将在标题后留下一个空行(但只有在导出一列时才可以)!

我有以下问题。 我正在通过SSIS从SQL Server导出到Excel 2003文件( 必须是 Excel 2003)。 它首先通过SQL Task创build一个工作表,然后用SQL数据stream填充它。 Excel连接指定第一行具有列名称。 我遇到的问题是,当工作表只有一列时,SSIS开始写入不在第2行,而是第3行。 这是创build工作表的SQL脚本: CREATE TABLE `Sheet1` (`Column` LongText) 和填充它的脚本: SELECT socialSecNum FROM Users 如果我添加一个名为“。”的虚拟列,并在DataFlow中填充空白,它不会跳过该行,并开始在第2行中写入。 在这种情况下创build工作表的SQL任务脚本是: CREATE TABLE `Sheet1` (`Column` LongText, `.` LongText) 这是两个屏幕截图中填充Excel文件的相同的SQL脚本。 输出不会改变,所以在开始处没有随机插入NULL值。 到底是怎么回事? 我如何避免它? 我不能有这个“。” 列名在那里。 编辑:另外请注意,这不是说,Excel文件是肮脏的,这就是为什么它留下第2行中的空行,因为它认为它正在使用; 如果我在脚本中添加第二列,相同的文件不会跳过一行。 编辑2:我被要求删除的图片,对不起。

SSIS – 通过列循环

一段时间以来,我们一直在使用excel文件来存储我们的购买数据。 该电子表格文件具有统一的结构。 由于它具有相当多的属性,我只想列举最重要的属性。 在这个Excel文件中,我们有产品ID的列,每个产品的尺寸以及产品ID和尺寸的每个组合的数量。 问题是,我们有几家商店,他们每个产品收到不同的数量。 所以,在每一个excel中,我们都有一个每个商店的专栏,在这个专栏中我们放置了从每个复合材料订购的数量。 所以,我想要做的是循环遍历每个商店的列,以添加每个组合的相应数量到特定的商店。 例如, INSERT INTO MyTable (product_ID, size_ID, store_ID, quantity) VALUES (12345, 34, Mirkwood, 1) 然后,重复每一列。 我一直在试图find一个解决scheme,但还没有弄清楚。 我真的很感激所有的帮助或提示。

SSIS – msna中导入excel数据的#na

我已经构build了一个SSIS包,其中所有.xlsb文件都从文件夹中提取并更新为临时文件。 我已经用我现有的excel文件构build了这个包,它工作的很好,现在我只在xlsb中收到了一个新的数据集,但是我发现很less有列更新为#NA。 另外我得到错误 还有新的数据,我得到错误说 VS_NEEDSNEWMETADATA 所以我把数据validation为false

networking共享上的Excel文件 – 已经由另一个用户独占打开,或者您需要查看和写入其数据的权限

我正在开发一个使用具有Excel源的数据stream任务的SSIS包。 连接的提供者是Microsoft.ACE.OLEDB.12.0。 如果我将连接pipe理器指向我的计算机上的本地文件并在Visual Studio中运行该包,则成功完成。 但是,如果将连接pipe理器指向本地域上的UNCnetworking共享,并从Visual Studio运行包,则会失败,并显示以下消息: 错误:0xC0202009在MyPackage,连接pipe理器“Excel连接pipe理器”:SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。 错误代码:0x80004005。 OLE DBlogging可用。 来源:“Microsoft Access数据库引擎”Hresult:0x80004005描述:“Microsoft Access数据库引擎无法打开或写入文件”,它已被其他用户专门打开,或者需要查看和写入其数据的权限。 。 错误:0xC020801C在数据stream任务,Excel来源[2]:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法调用连接pipe理器“Excel连接pipe理器”失败,错误代码为0xC0202009。 在此之前可能会发布错误消息,更多关于为什么AcquireConnection方法调用失败的信息。 更多信息: UNC共享中的文件与我的本地文件相同。 在运行包之前,UNC共享中的文件未打开。 我的域用户(用于运行Visual Studio)具有UNC共享所有者权限级别。 此外,每个人都有UNC共享的读取权限级别。 Run64BitRuntime设置为False(可能不相关)。 我在本地运行Visual Studio。

什么是可以由SSIS导入的最大Excel文件大小(以MB为单位)

我想知道最大的Excel文件大小,我们可以使用一个简单的ETL SSIS包加载到数据库。 如果文件大小取决于系统configuration或资源,那么我们如何计算呢? 在我的情况下,我想加载一个500 + Mbs的Excel文件。 即使试图映射列,我的包也会被挂起。 谢谢。

SSIS:]错误:重复的枢轴键值

我在SSIS中使用PIVOT转换来实现上面的(源Excel)其显示重复的枢轴键值错误。 尝试了下面的选项1.sort转换之前,在yearmonth,区域,产品,模型,客户的枢轴2.更改枢轴键值为1年份,地区,产品,模型,客户colums 可以请一个人指导我这个…

SSIS包执行抛出错误DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER

我们尝试将保存在服务器上的共享path上的简单的从Excel文件导入到SQL Table 。 我为Excel源文件97-2003创build了Excel Connection Manager , First row has column names检查了First row has column names 。 我用选定的表格创build了OLEDB Destination ,并且映射了列。 所以罚款这么好,但是当我们运行包时抛出以下错误: Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009. There may be error messages posted before this with more information on why […]

在VB.net中使用什么名字空间

编写一个vb.net脚本(作为SSIS ETL的一部分)将xls转换为tsv文件。我试图使用名称空间Imports Microsoft.Excel来包含下面的代码。但是,它显示没有这样的名称空间! 什么名称空间被包含在使用Excel打开closures并保存为function的一部分的vb.net oExcel.Workbooks.Open oBook.SaveAs(sTsvPath,-4158) vb.net代码是 Public Sub Main() Dim oExcel As Object Dim oBook As Object Dim sFileName As String Dim sFileNameOnly As String Dim sXlsPath As String Dim sTsvPath As String sFileName = CStr(Dts.Variables("User::Xls_File_Name").Value) sXlsPath = "H:\Xls_Files\" + sFileName sFileNameOnly = Path.GetFileNameWithoutExtension(sFileName) sTsvPath = "H:\Xls_Files\" + sFileNameOnly + ".Txt" oExcel = CreateObject("Excel.Application") […]