问题标签 [ezapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1105 浏览

c# - 如何在 SSIS 中使用 EzAPI FlatFile Source?

我正在使用 EzAPI 使用 FlatFile Source 创建数据流

使用来自http://blogs.msdn.com/b/mattm/archive/2008/12/30/ezapi-alternative-package-creation-api.aspx的示例我正在尝试使用平面文件源。但是,在平面文件源/连接中,我无法映射平面文件中的列。

zFlatFileSource 是否有类似 Dest.DefineColumnsInCM() 的东西?

在 BIDM 中,当我打开创建的包时,我看到 EzFlatFileCM 说没有为此连接管理器定义列。一旦我单击列,它就会自动检测所有内容并且错误消失。我需要在我的代码中调用什么方法来让 EzFlatFileSource 自动选择这些列?

0 投票
2 回答
1103 浏览

ssis - 使用 EzApi 创建 SSIS 包

我正在使用 EzApi 创建 SSIS 包。但是,我无法创建具有多个来源和单个目的地的包。例如,两个 OLEDB 源和一个 OLEDB 目标。我到底想知道的是如何使用 c# 代码添加合并转换。请帮忙

0 投票
1 回答
1141 浏览

c# - 如何使用 EzAPI 在远程 sql Server 源和目标上创建和执行 SSIS 包

我需要创建一个控制台应用程序,它可以将表从一个远程 sql server 实例复制到另一个远程 sql server 实例。

我正在使用一个名为EzAPI的库

连接(源和目标)和表名都将作为参数提供给控制台应用程序。

这是我的尝试:

这段代码的问题是:

  • 它不会在目标服务器上创建表,所以我应该自己手动创建它。
  • 此代码在本地主机上成功运行,但是当我尝试将服务器名称更改为远程服务器时,它会引发此错误:

未处理的异常:System.Runtime.InteropServices.COMException (0xC020801C):来自 HRESULT 的异常:0xC020801C

在网上搜索后发现这个错误意味着这个错误是一个集成服务AcquireConnections异常。

那么如何让这个代码在远程 sql server 实例上运行,并让包在传输数据之前在目标服务器上创建表。

先感谢您。

0 投票
2 回答
2367 浏览

sql-server - 使用 EzAPI 在 SSIS 包中自动创建表

如果这是一个 BIDS 功能,而不是通过 EzAPI 提供,我不会感到惊讶。

我使用 EzAPI 编写了一些代码来生成带有 OLEDB 源和目标的 SSIS 包。然而,Destination 表不存在,我希望它的创建方式与新按钮在 BIDS 中的工作方式相同。这可能吗?

0 投票
1 回答
769 浏览

sql-server - 谁能提供一个将日志记录功能添加到通过 EzAPI 创建的 SSIS 包的示例

我目前正在从 C# 生成大量(100 个)SSIS 包,这些包用于将 MS Access 数据库导入 SQL Server 上的暂存区域。这是从该组织中删除 MS Access 的第一步。这些包运行良好,因为它们是自动生成的,当我意识到它们时,添加新的 MS Access DB 很简单。

但是,理想情况下,我想在生成的包中添加日志记录以跟踪性能/异常。EzAPI 中似乎对此提供了支持(例如 LogProvider 类),但我一直无法找到任何文档。

有没有人有他们使用 EzAPI SSIS API 执行此操作的示例?

0 投票
2 回答
1067 浏览

c# - 从变量中使用 OLE DB 源命令的 EzAPI 等效项是什么?

tl;博士

使用具有“来自变量的 SQL 命令”的数据访问模式的 OLE DB 源并分配变量的 EzAPI 代码是什么?

前言

每月一次,我们需要使用生产数据的子集刷新我们的公共测试站点。我们已经确定,根据我们的需要,SSIS 解决方案最适合完成这项任务。

我的目标是系统地构建大量(100 多个)“复制”包。EzAPISSIS 对象模型的友好包装器,它似乎是节省鼠标点击的好方法。

我希望我的包裹看起来像

  • 变量 - “tableName”;[架构].[表名]
  • 变量 - “sourceQuery”;SELECT * FROM [Schema].[TableName]
  • 数据流 - “复制 Schema_TableName”
    • OLE DB 源 - “Src Schema_TableName”;数据访问模式:来自变量的 SQL 命令;变量的名称:User::sourceQuery
    • OLE DB 目标 - “Dest Schema_TableName”;表或视图名称可变-快速加载;变量名 - User::tableName

代码

这是我的表到表复制包的代码。

调用看起来像并且构建了一个包,除了在源代码中使用变量之外TableToTable s2 = new TableToTable(@"localhost\localsqla", "AdventureWorks", "[HumanResources].[Department]", @"localhost\localsqlb");,它可以执行我想要的操作。

问题

上面的代码提供了 SQL Query 的访问模式,并且查询嵌入在 OLE Source 中。它使用“来自变量的 SQL 命令”的愿望以及@[User::sourceQuery] 我坚持的变量是在源代码中使用一个变量。

分配类似的东西应该很简单

这会导致选择了正确的数据访问模式,但未填充变量。 ole 数据库源

您可以观察到我在目的地执行了类似的步骤,它确实接受了变量并且“正确”工作。

有变量的目的地

什么不起作用

列出我尝试过的排列

结果数据访问模式设置为表或视图,表或视图的名称为空白。

数据访问模式中的结果设置为“表或视图名称变量”,变量名称为 sourceQuery。非常接近我想要的,除了访问模式不正确。如果这个包运行,它会爆炸,因为 OpenRowSet 需要一个直接的表名。

结果数据访问模式设置为“SQL 命令”,SQL 命令文本为“User::sourceQuery” 这是变量名的字面值,所以它是正确的,但由于访问模式错误,它不起作用。

这些都是正确的访问模式,因为它们适用于目的地(我仍然尝试过它们,但它们没有按预期工作)。

在这一点上,我想我会尝试通过创建一个包含我想要的 OLE DB 源的包来向后工作,然后检查源对象的属性。

源属性

我的代码已将 SqlCommand 和 DataSourceVarible 设置为变量的限定名称。我已经拉下变更集 65381 并对其进行编译(在修复了对 SQL Server 2012 dll 的一些引用之后),希望自 2008 年 12 月 30 日稳定版本以来可能已经修复,但无济于事。

我是否在他们的代码中发现了错误,或者我只是遗漏了一些东西?

0 投票
4 回答
4525 浏览

ssis - 在使用 EzAPI 的 MergeJoin 转换中,如何将输入映射到输出列?

我正在使用 EzAPI 库以编程方式构建一个相当复杂的 SSIS 数据流并且遇到了障碍。我附上了我正在努力实现的目标的图像。

在此处输入图像描述

我已经开始(直到合并连接)正常工作,但是在尝试将合并连接组件的输入映射到输出时遇到了困难。

这是我到目前为止的代码(显然只是一个片段)

我已经在高处和低处搜索了 EzMergeJoin 转换的示例或文档,但无济于事。谁能指出我正确的方向?

0 投票
2 回答
1245 浏览

c# - EzAPI OLE DB 目标

我已经搜遍了,现在我不得不问。我正在尝试使用 EzAPI 构建一个简单的数据流。这绝非易事,但我致力于解决这个问题。我不知道如何开始EzOleDBDestination工作。这是我的完整代码

基本上,任何涉及调用的ReinitializeMetadata()结果都会导致 0xC0090001,因为该方法是错误发生的地方。没有真正的文档可以帮助我,所以我必须依赖这里的任何大师。

我应该提到源数据库是 MySQL,目标数据库是 SQL Server。使用 SSIS 设计器构建这样的包效果很好,所以我知道这是可能的。

如果我做错了什么,请随时告诉我。

编辑:这是我用作模板的基本包的链接:http ://www.filedropper.com/package_1 。我已经编辑了连接细节,但是任何 MySQL 和 SQL Server 数据库都可以。该包将从 MySQL 中读取(使用 MySQL ADO.NET 连接器)并写入 SQL Server。

数据库模式大多无关紧要。为了测试,只需在 MySQL 中创建一个包含两列的表:id (int) 和 description (varchar),其中 id 是主键。在 SQL Server 中创建等效列。这里的目标只是从一个复制到另一个。在某些时候它可能最终会变得更加复杂,但我必须首先克服这个障碍。

0 投票
1 回答
1547 浏览

dll - SQL Server 2012 的 VSTAScriptingLib

我正在尝试为 SSIS 构建2012EzAPI。我在构建过程中遇到程序集依赖错误:

错误 1 ​​程序集 'Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' 使用 'Microsoft.SqlServer.VSTAScriptingLib, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'版本比引用的程序集 'Microsoft.SqlServer.VSTAScriptingLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' c:\Program Files\Microsoft SQL Server\110\DTS\PipelineComponents\Microsoft.SqlServer.TxScript.dll EzAPI

基本上,我需要 11.0.0.0 版本的 VSTAScriptingLib,但它不包含在 SQL Server 2012 发行版中(据我所知)。

想法?

0 投票
1 回答
1072 浏览

c# - 如何使用 EzAPI 创建 SSIS 2012 项目?

我正在尝试使用 EzAPI 创建一个 SSIS 2012 项目。但是,在将项目文件保存到磁盘后,我无法在 Visual Studio 中打开它。

我用来创建一个包含一个包的简单项目的代码如下:

正如预期的那样,我的 C:/Temp 文件夹包含包和 .dtproj 文件。但是我无法在 Visual Studio 中打开 dtproj 文件。我尝试时收到的错误是:“来自 HRESULT x80041FEB 的异常”

此外,当我在记事本中打开 .dtproj 文件时,它不像 .dtproj 文件那样包含 XML。它包含一些带有许多特殊字符的乱码(例如:eQMs‚0¼wÆÿÀä$|)

我正在使用最新版本的 EzAPI,可在此处下载:http: //sqlsrvintegrationsrv.codeplex.com/releases/view/82369

我究竟做错了什么?