Tag: ssis

使用SSIS中的excel连接pipe理器导入大的excel文件

情况: 现在我有几个需要填充到数据库的Excel文件。 像往常一样,首先我尝试在SSMS中使用import task导入文件,但是当我尝试编辑映射并继续下一步时失败。 (在这里,我猜是因为无法在caching中处理的Excel的大小?),然后我切换到使用SSIS,但仍然,Excel连接pipe理器不允许我预览或只是完成连接到文件。 (几分钟后,它给我错误说源不存在?) 我试图打破文件到小尺寸,它的工作。 这是我的问题: SSIS或SSMS可以从Excel中预加载文件的最大行数是多less? 而不是把大文件分解成小块(不知道每次需要分配什么样的大小),还有其他办法可以导入大尺寸的excel文件吗? 因为有很多文件是不可行的。 谢谢

将数据加载到维度date表中

那么我有一个维度date表,它有两个属性月和年,就像它写在脚本中,月(mois)是我的主键。 和我在同一个月里有不同的一年,就像在源文件中展示的那样。 所以我该怎么做? 把他们全部或我应该使用不同? 我的源文件是Excel加。 我有来自数据库pubs的表销售数据(ord-date)。 PS:我正在使用ssis(visual studio) 这是我的来源date 这是我如何创build我的维度date表,因为我们的教授告诉我们创build它像(不需要的细节) 我知道如何从Excel中导入数据,并分割date。 我只有从我加载到维度表时,我发现一个问题。 我的问题是我有例如2date(仅月和年)05/1995和05/1995,我想加载到我的维度表,但我不能有我的月份作为我的主键。 主键应该是唯一的

SSIS Excel文件名称到目前为止?

希望有人能帮助我。 我有一个由Excel文件提供的SSIS包,我创build了一个将excel文件名放在派生列(ctp_finalv_250688.xlsx)中的variables, 我想知道如何去提取文件名的“250688”部分,并将其放在另一个派生列? 非常感谢您的帮助

SSIS-从Sharepoint下载并加载Excel到SQL数据库

我目前有一个SharePoint站点上有一个Excel文件的情况。 我需要加载该Excel文件到数据库。 Excel文件有多张表。 我已经尝试了运气不错的方法。 方法1 – 我去的SharePoint站点,并去图书馆选项卡,并select打开与资源pipe理器链接。 我已经使用该链接作为Excel连接pipe理器中的文件位置。 我成功地能够在本地运行ssis包,但在服务器上运行时失败(不足的权限)。 后来我发现我们无法直接连接到sharepoint做ETL。 方法2我试图使用http连接pipe理器没有运气。 我认为最好的方法是使用SSIS中的脚本任务。 然而,我相当新的脚本任务,所以如果任何人都可以提供一个代码和一个方法来使用它将是伟大的。 我在网上查看了一些示例代码,但是我找不到一个能够正常工作的代码(这可能是我错误地使用它的原因)。该文件将需要覆盖具有相同名称的任何文件。 对于这个例子,让我们在下面使用 Sharepoint Path= http://example.com/example/excel.xlsx Local Path= C:\

SSIS正在从Excel工作表加载date

我有一个多个工作表的Excel文件,但只有第一个工作表上列出的date。 我想要做的是读取excel文件,将其放入一个variables中,以便稍后可以在数据stream任务中使用。 通常情况下,这是你运行磨床读写数据stream的任务,但是由于这些信息位于Excel表格的第一页,主要是关于报表的信息,所以读取信息有点困难。 以下是工作表的样子,我想从整个工作表中得到的唯一信息就是更具体的数据周期行, Dec 2016 任何方向将不胜感激,谢谢。

如何在ssis中加载多张excel(2016)文件

这个代码完全可以在我的机器上工作(我有Excel 2010),但是当我的主pipe试图运行,但没有在他的机器上工作(他有优秀2016)所以对于Excel 2016 2016我需要改变连接ConStr =“Provider = Microsoft.ACE .OLEDB.12.0; Data Source =“+ fileFullPath +”;扩展属性= \“Excel 12.0; HDR =”+ HDR +“; IMEX = 0 \”“; ?? string FolderPath = Dts.Variables["User::FolderPath"].Value.ToString(); string TableName = Dts.Variables["User::TableName"].Value.ToString(); string SchemaName = Dts.Variables["User::SchemaName"].Value.ToString(); string SheetNameToLoad = Dts.Variables["User::SheetNameLike"].Value.ToString(); var directory = new DirectoryInfo(FolderPath); FileInfo[] files = directory.GetFiles(); //Declare and initilize variables string fileFullPath […]

将CSV文件中的数据configuration到SSIS中的OLEDB目的地

我有一个SSIS包,其中我使用ForEach容器来循环访问一个文件夹的目标,并拉一个.csv文件。 Container接受find的文件,并使用Flat File Connection Manager的ConnectionString的文件名。 在容器中,我有一个数据stream任务将行数据从.csv文件(使用平面文件连接pipe理器)移动到OLEDB目的地(这有另一个它使用的OLEDB连接pipe理器)。 当我尝试执行这个容器时,它可以获取文件名,将其加载到平面文件连接pipe理器中,并开始传输行数据; 然而,在移动任何数据之前,它会不断地错误 – 即超过两个问题: 错误:0xC02020A1将结算文件数据移入临时表,SettlementData_YYYYMM [1143]:数据转换失败。 “MONTHS_REMAIN”列的数据转换返回状态值2,状态文本“由于数据可能丢失而无法转换该值”。 错误:0xC02020A1将结算文件数据移入临时表,平面文件源[665]:数据转换失败。 “”CUST_NAME“”列的数据转换返回了状态值4,并且状态文本“Text被截断,或者一个或多个字符在目标代码页中没有匹配”。 在我到目前为止的研究中,我知道你可以设置什么条件来强制错误输出失败,并select忽略连接pipe理器中的截断失败; 但是,因为每次执行容器时都会重新创buildFlat File Connection Manager的ConnectionString,所以似乎没有保留这些选项设置。 同样,根据我的经验,当连接pipe理器为每列selectOutputColumnWidth时,应该从数据集中选取最大的值,所以我不太明白它是如何在那里截断名称的(数据库设置为VARCHAR(255 )所以有足够的空间)。 至于失败的数据转换,我也不明白当引用的列是使用简单的Int值时会发生什么,连接pipe理器和接收数据库都使用浮点数,应该包含Int数据(我不知道你不能将Int转换成Float?)。 直接进入数据库目标时,一些.csv文件在SSIS中播放不好,这是我的经验。 所以,将.csv转换成一个.xlsx文件会更好,这个文件可以在数据库中播放得更好,或者还有其他一些东西可以轻松将大量数据从.csv文件移动到数据库中 – 或者,我只是愚蠢而把一件小事变成了比它更大的东西? 注意:我在Flat File Connection Manager中dynamic设置文件的原因是.csv文件会附加一个设置名称,并将其作为重复过程的一部分生成的月份/年份,所以我使用常量部分的名称来抓它,不pipedate信息 编辑:这是我的平面文件连接pipe理器的屏幕上限预览一些数据,它将尝试通过。 我注意到其中的一些行在他们周围有引号,并且要确保不会有任何不利影响 – 具有问题的列是MONTHS_REMAIN之一

在没有在SSIS中安装excel的机器上使用Excel源代码

我制作了一个使用Excel源代码从Excel 2003文件中提取数据并将其插入SQL Server的SSIS包。 在生产机器上执行时,会出现“productleveltoolow”错误。 Excel未安装在服务器上。 这个错误是由于这个原因吗?

从Excel导入使用SSIS的“应用程序”

我正在寻找从excel导入到SQL数据库的任何提示或资源,但特别是当信息不是列和行格式。 我目前正在为一个项目做一些前期开发工作,在大多数情况下,我想使用SSIS来进行项目。 我的研究和Google的一个领域是留下一个大问号是excel表格的导入。 简而言之,我们的用户使用Excel作为一个简单的计算器/应用程序。 值被input到工作表中的特定单元格中,然后在其他单元格公式中得出最终答案。 该表已“美化”,使用户更容易使用(即空白,合并细胞,漂亮的颜色等)。 我需要一个机制来获取原始值和最终答案,并将它们导入到SQL数据库中。 有很多关于在Excel中导入列和行信息的尝试和磨难的信息,但是有没有任何同伴堆栈溢出者有经验呢? SSIS是否适合这个(另一个可行的选项将不得不被集成到一个.NET服务中)。 谢谢!

IErrorInfo.GetDescription失败,E_FAIL(0x80004005)

连接到Excel数据源时出现此错误 代码: Con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Registry Path=""SOFTWARE\Microsoft\Jet\4.0"";Data Source=""" & FilePath & """;" & "Extended Properties=""Excel 8.0;IMEX=1;HDR=NO"" Con.Open() 错误: System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr,OleDbConnection连接)在System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions选项,对象poolGroupProviderInfo,DbConnectionPool池,DbConnection拥有对象)在System.Data.ProviderBase.DbConnectionFactory。 (System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)System.Data.OleDb.OleDbConnection.Open()上的System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)上的CreateNonPooledConnection(DbConnection owningConnection,DbConnectionPoolGroup poolGroup) )at ScriptTask_a70f59b01c864c5bb8e468d2a0030092.vbproj.ScriptMain.ReadExcelFile(String FilePath,String FileExtension)in C:\ Users \ sureshbs \ AppData \ Local \ Temp \ SSIS \ cd482fe4061144a49e4880855a057950 \ ScriptMain.vb:line 316“{”IErrorInfo.GetDescription failed with E_FAIL 0X80004005)。“}