要求-i有用户凭据可以访问WSDL文件,我可以通过浏览器访问该文件. WSDL link - XYZ userdID- asdf pwd - ***** 我需要在SSIS脚本任务中使用C#代码来调用此Web服务(特别是单个方法调用)使用适当的用户凭据. 获取响应(将在XML中),解析XML以获取特定值并将其插入SQL表中. 如果有人知道/有任何有关如何实现上述要求的想法/参考链接,请告诉我. 解决方案 使用SSIS有两种调用Web服务的方法. 使用SSIS Web服务任务 我认为这更可取. 您可以创建HTTP连接管理器并指定凭据,然后在Web服务任务中使用它,您可以参考以下链接以获取详细示例: 使用示例使用使用示例带有SQL Server Integration Services的Web服务 也有更多有用的链接,您可以参考: 使用示例使用使用示例带有SQL Server Integration Services的Web服务
以下是关于 etl 的编程技术问答
我已经搜寻了Google的教程来帮助这一点,但没有找到任何综合的东西. 我想通过以JSON格式发送数据库中包含的数据来单向与Web服务同步SQLITE3数据库,但是很难找到有关如何将数据库转换为JSON的信息.如果有人可以将我指向涵盖此内容的教程的方向,或者显示一个简短的示例,说明如何转换简单的sqlite表,那将很棒! 数据库包含大约十个表,具有包含大量数据的可能性,因此除了一个简单的示例外,还将不胜感激. 谢谢! 解决方案 答案非常简单:您必须将所有信息从SQL数据库中获取到某些抽象数据类型中,然后将数据序列化为JSON.我认为您是在Objective-C中开发的,因为它是iOS编程的主要语言.我为这两个目的都编写了库,因此请使用我的 sql helper class 和我的 json库,您可以做这样的事情: SQLHelper *db = [[SQLHelper alloc] initWithFile:@"/User/Library/large_db
我正在迁移到SSIS 2016版本.我正在尝试将Oracle提供商用于连接中的OLEDB. 但是,此选项未显示.我已经安装了Oracle Client 12.2,并且可以进行UDL文件测试,在此我可以看到Oracle提供商并能够测试连接. 但是,当我尝试在VS 2015中尝试时,未显示该选项. 此处描述了问题 - https://jorgklein.com/2011/06/02/ssis-connect-connect-to-connect-to-oracle-oracle-on-a-a-64-bit-bit-bit-machine-machine-machine-machine-for--for--for--for--for-- SSIS-2008-R2/,基于此,我安装了64位客户端.但是,当尝试使用连接管理器时,未显示Oracle提供商. 如何解决此问题? 解决方案 从SSIS连接到Oracle的推荐方法是使用具有高性能的Attunity连接器,并且
在Visual Studio 2015中,我有一个解决方案,在SSIS包装夹中有3个dtsx.我重新构建了解决方案,并取得了成功.只有当我打开一个dtsx一个接一个的时候,我才注意到其中一些(不是全部)实际上有几个问题. 是否有一种方法可以在错误列表中获取这些问题的列表,或者我需要一个一个一个dtsx一个? 解决方案 不幸的是,无需打开软件包或使用DTExec Utility执行它们即可从您的集成服务解决方案(在Visual Studio中)实现此目标.但是您可以进行一些解决方法,并以编程方式检查获取错误: 解决方案 我使用Visual Studio(使用VB.NET)创建了Winforms应用程序 我添加了Microsoft.SqlServer.DTSPipelineWrap和Microsoft.SQLServer.ManagedDTS作为参考 我使用以下代码在特定目录中的软件包中循环,验证并将错误获取到日志文件中: Dim strPackage
我正在我的计算机上运行SQL Server 2014.我已经为Visual Studio 2017安装了SSDT.现在,我无法在视觉工作室中找到SSIS工具箱.我需要再次重新安装SSDT吗?请告诉我.预先感谢. 解决方案 在2022-01-26上注:我更新了答案,其中包括有关其他情况的更多信息,因为此问题得到了高度查看. i.如果您确定已安装了SQL Server数据工具 您可以通过三种方式显示SSIS工具箱: (1)Visual Studio菜单条 基于此 如果看不到工具箱,请转到查看 - >其他Windows-> SSIS工具箱. (2)从上下文菜单段 或右键单击任何父/子软件包的控制流中,然后选择" SSIS工具箱",然后在单击之后显示SSIS工具箱. (3)靠近SSIS选项卡页 您可以在SSIS选项卡页面附近找到一个小按钮,如下图所示: II.如果上述方法都没有起作用,请确保您已正确安装了SSDT. 如果您使用
我有大量的Visual FoxPro DBF文件,我想转换为CSV. (如果愿意,可以我可以用 dbf view plus (很棒的免费软件实用程序),但是将它们导出到CSV每个文件需要几个小时,我有几十个文件可以使用. 是否有像DBF视图之类的程序,可以让我设置一批DBF-to-CSV转换来过夜? /edit:另外,有没有一种很好的方法将.dbf文件直接导入SQL Server 2008?它们都应该进入1个表,因为每个文件只是同一表中的记录子集,并且应该具有所有相同的列名. 解决方案 在这种情况下,我认为SQL-Server具有连接到FoxPro表的能力.我不确定我最近从未做过的那样(上次使用SQL-Server大约8年前).我敢肯定,还有其他线程可以指向您将SQL-Server连接到VFP. 我迅速搜索并看到此线程 此外,您可能需要最新的OLEDB提供商来建立我也在线程中发布的连接-to-with-with-with-dbf-files/4750934
挑战在标题中. 使用currentDB中的导入规格? 如果您的建议是为目标数据库创建链接表,请不要回复,或在目标db中创建导入规格. 这是我到目前为止的代码,但是显然它不起作用,因为文件规格在CurrentDB而不是目标db中. Option Compare Database Function job1() Dim sFinalDB As String, sTableName As String, sSpecName As String, sFileName As String sFinalDB = "path\db.mdb" sTableName = "tblName" sSpecName = "specName" sFileName = "path\test.csv" fn_ImportTxt sFinalDB, sSpecName, sTableName, sFileName, True End Fun
我正在尝试使用VBA将选项卡删除的TXT文件导入到访问表中.在我的代码中,我想将其插入尚未创建的表中. 这是我尝试做的.注意 - 我能够使用CSV进行此项工作,而不包括以下内容:DataType:=xlDelimited, Tab:=True Sub InsertData() 'import CSV into temp table DoCmd.TransferText TransferType:=acLinkDelim, TableName:="tbl_TEMP", _ FileName:=FileNameVariable, HasFieldNames:=True, DataType:=xlDelimited, Tab:=True End Sub 当我运行此块时,我会在DataType:=xlDelimited, Tab:=True 上获得以下错误 编译错误:未找到命名参数 我应该如何更改此操作,以便在Tab-deledited
最近,我有一个项目需要通过将SSIS软件包和Excel VBA宏组合为一个来自动化一个过程.以下是步骤: 我有一个SSIS软件包,将所有视图结果导出到从SQL Server到Excel的多个单独文件.所有文件都保存在同一位置. 我有一个Excel VBA宏观绩效清洁,以删除每个导出的Excel文件中的所有空床单. 我也有一个Excel VBA宏观执行合并任务,将所有Excel文件合并到Master Excel文件中.此主excel文件包含所有结果集,每个结果集相应地保存在不同的选项卡上. 由于我正在手动运行步骤2和步骤3,因此我的问题是如何将步骤2和步骤3与步骤1连接在一起,以将它们组合为一个自动化过程. 请为我提供有关这一可能实现的可能性的建议!非常感谢. 解决方案 这样做的方法是在您的SSIS软件包中创建脚本任务. 然后,一旦进入脚本任务,就可以通过脚本任务的C#代码调用Excel Interop.例如您可以将引用添加到Microsoft.
我正在使用下面的代码来构建SQL输入语句,该语句从Excel表中提取数据. v_sql_input_string += "'" & Trim(Replace(Convert.ToString(.Rows(i).Item(3)), "'", "''")) & "', " 我的一列之一的格式为Excel中的"自定义" mm/dd/yyyy格式.日期在Excel中也显示为01/22/2018.当被提取到该字符串中时,它将其重新格式化为日期.示例43102. 我对VB有些新,所以请原谅我的无知.我在这里做错了什么? 解决方案 Microsoft Excel将日期和时间存储为DECIMAL (称为Excel Serial) 您可以使用 datetime.fromoadate()函数将其转换为日期. 您可以使用以下代码: If Double.TryParse(.Rows(i).Item(3), New Double) Then v_sql_inpu
事先感谢您的帮助.我需要编写SSIS脚本组件来将单行划定为多行.我在下面查看了许多有用的博客和帖子: http://beyondrelational.com/ask/public/questions/1324/ssis-script-script-component-split-split-single-single-row-to-to-multip----------------------------------------------------------- > http://bi-polar23. blogspot.com/2008/06/splitting-delimited-column-in-ssis.html 但是,我需要一些额外的帮助来完成项目.基本上这是我想做的. 输入数据 ID Item Name 1 Apple01,02,Banana01,02,03
我试图使用Interop库中删除Excel文件中的所有额外空白行和列. 我遵循了这个问题最快的方法是使用Interop 从Excel文件中删除空行和列的最快方法,我发现它很有帮助. 但是我有一个包含一小部分数据的Excel文件,但是很多空行和列(从最后一个非空行(或列)到工作表末尾) 我尝试在行和列上循环循环,但循环花了几个小时. 我正在尝试获取最后一个非空行和列索引,以便我可以在一行中删除整个空范围 XlWks.Range("...").EntireRow.Delete(xlShiftUp) 注意:我正在尝试获取最后一行包含数据以删除所有额外空白(此行或列之后) 有什么建议? 注意:代码必须与SSIS脚本任务环境兼容 解决方案 更新1 如果您的目标是使用C#导入Excel数据,则假设您已经确定了工作表中使用的最高索引(在您发布的图像中,它是col = 10,行= 16),您可以将最大使用的索引转换为字母,因此它将为J16,仅选
我有一个用格式存储为字符串的时间值HH:mm 我使用以下代码将其作为日期将其解析为今天的日期 DateTime.ParseExact("09:00","HH:mm",New System.Globalization.CultureInfi("En-GB")) 结果是2017-03-15 09:00:00 从另一台计算机运行此代码时,我会得到以下结果:1899-12-31 09:00:00 我将代码替换为以下 DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd") & " 09:00","yyyy-MM-dd HH:mm",New System.Globalization.CultureInfi("En-GB")) 而且效果很好,,但我仍然想知道为什么每个系统都将日期解析为不同的值??? 解决方案 DateTime.ParseExact中缺少年/月/天的默认值 来自.NET源代码:
在脚本组件[input0_processinputrow]中,我正在尝试获取" readwrite"全局变量值,并在错误以下抛出. 错误: 锁定的变量集合用于读取和写入访问. 以下是我的代码 If Row.Column13 = "C" Then Variables.mTotalCreditCount = Variables.mTotalCreditCount - 1 Variables.mTotalCreditAmount = Variables.mTotalCreditAmount - CDbl(Row.Column14) ElseIf Row.Column13 = "D" Then Variables.mTotalDebitCount = Variables.mTotalDebitCount - 1 Variables.mTotalDebitAmount = Variables.mTotalDebitAmount - CDbl
我试图使用以下代码在我的vb.net应用程序中读取CSV文件: While Not EOF(1) Input(1, dummy) Input(1, phone_number) Input(1, username) Input(1, product_name) Input(1, wholesale_cost) Input(1, dummy) Input(1, dummy) End While 我的CSV文件(作为文本)看起来像: Customer Name,Phone Number,Username,Product,Wholesale Cost,Sales Price,Gross Profit, Customer Reference ,00000000000,00000000000,Product Name,25.00,35.00,10.00, ,00000000000,00000000000,Product
我正在寻找一种在我的SSIS脚本任务中创建" imports newtonsoft.json.linq"的方法,但这显然不像SSIS中的"管理nuget软件包"那么简单.因此,还有另一种解决方法. 我找到了一个 link 对我看上去像是可能的解决方案,但是由于我不是熟练的程序员,我很难从C#翻译.进入VB.我希望那里有人可以帮助我,或者也许指导我朝另一个方向指导. 我正在使用Visual Studio 2010 Shell,.NET Framework 4.6.0,并且公司代码语言为VB. 这是上面链接中C#代码的副本. : [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute] public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectMo
我需要从\\\Share\Folder\中选择一个.csv文件,然后将最大文件名进一步导入到SQL.文件名是字母数字,例如ABC_DE_FGHIJKL_MNO_PQRST_U-1234567.csv,数值零件会有所不同,但是每次包装运行时我都需要一个最大一个. 约束:在该SQL Server上没有写入访问,我使用## temp表进行导入,这是对文件名处理的最不合理的方法(对于此服务器上的每个循环). 理想情况下,它将是基于函数/expr的变量(如果需要的话,将与脚本任务结合使用),以传递到连接管理器中.任何想法都非常感谢. 解决方案 使用脚本任务 添加类型字符串的变量用户:: csvfile 将脚本任务添加到您的项目中,并将创建的变量添加为A ReadWriteVariable 在您的脚本任务中编写以下代码(vb.net): 您必须导入 system.linq library Public Sub Main() Dim strDir
我有一个SSIS软件包,它具有一个foreach循环容器,将所有.txt文件加载在静态文件夹中.我将完全限定的文件名作为我在连接字符串中使用的变量. 我现在只需要将文件名传递到一个变量以执行存储过程,问题是如果我更改foreach循环集合以仅检索文件名,则可以防止其余的工作. 是否有一种方法可以将完全合格的文件名和仅将文件名称传递给SSIS中的变量? ? 解决方案 不,您可以选择一个:只有完全合格的或文件名.就个人而言,如果存储过程期望完全合格的名称,我将创建第二个变量FileNameOnly,然后用 之类的表达式填充它. RIGHT(@[User::CurrentFileName], FINDSTRING(REVERSE(@[User::CurrentFileName]), "\\", 1 )-1) (这假设您已经将值存储在称为CurrentFileName的变量中) 或者您可以使用脚本任务将值分配给fileNameonly,并利用.net system
我知道约束编程背后的直觉,因此可以说我从未真正使用约束求解器体验编程.尽管我认为能够实现我们将其定义为一致的数据是另一种情况. 上下文: 我们有一组在ETL服务器上实现的规则.这些规则是: 行动在一排. 在一个或不同的表中表演行之间. 在两个运行之间以相同的方式行动(它应该在所有数据上保持相同的约束,或者仅仅是最后一个n运行); 第三种情况与第二种情况不同,因为第二种情况下,第二个情况下的情况则存在,但定义明确的运行次数.它可以用于一次运行(一个文件),或在(1至n(上一个)或所有文件上). 从技术上讲,当我们想到ETL时,它在两个运行之间没有内存:两个文件(但要重新考虑) 对于应用第三种规则的应用,ETL需要具有内存(我认为我们将在ETL中最终进行后退数据);或通过在整个数据库中重新检查整个数据库的(作业),因此数据库中最终的数据不一定符合第三种规则. 示例: 当我们有一个连续流的数据时,我们应用约束以具有整个约束数据库,第二天我