Excel2 自定义连接管理器示例

新建日期: 2006 年 4 月 14 日

Excel2 自定义连接管理器示例说明了如何创建自定义连接管理器、Excel2 连接管理器以及相关的用户界面。基于 Itanium 的操作系统不支持此示例。

有关如何创建自定义连接管理器的详细信息,请参阅Creating a Custom Connection Manager。有关在 Integration Services 中使用连接管理器的一般信息,请参阅Integration Services 连接连接管理器

自定义连接管理器使用 OleDb .NET Framework Data Provider 和 Microsoft OLE DB Provider for Jet 连接到可用的 Microsoft Excel 工作簿,并从其 AcquireConnection 方法返回打开的 OleDbConnection 对象。在包中创建 Excel2 连接管理器的新实例时,其自定义用户界面将提示您输入 Excel 工作簿的路径。此连接管理器还提供一个用于指定导入模式的复选框。这样就解决了当 Excel 列包含文本和数字的混合数据时经常出现的一个问题。

ms365193.note(zh-cn,SQL.90).gif注意:
Excel2 自定义连接管理器示例不能用于 Excel 源和目标。请使用 DataReader 源和目标测试它。

此代码示例实现了以下功能:

ms365193.note(zh-cn,SQL.90).gif重要提示:
提供的示例仅供教学使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。

运行示例

如果您已经知道如何定位、生成和安装代码示例,则可以直接跳到测试示例一节,了解如何配置和运行此示例。

必备组件

此示例要求安装下列组件:

  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

位置

如果代码示例安装到默认位置,则该示例将位于以下目录中:

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\Excel2ConnectionManager Sample

代码示例的 C# 解决方案位于 Excel2ConnMgrCS 目录中,而 Visual Basic 解决方案位于 Excel2ConnMgrVB 目录中。

有关安装示例所需的两步过程的信息,请参阅安装示例。若要获取最新版本的示例(包括在 SQL Server 2005 首次发布之后发布的新示例),请参阅 SQL Server 2005 示例和示例数据库(2006 年 4 月)

生成示例

如果尚未在 Samples 文件夹中生成强名称密钥文件,则请使用以下过程生成此密钥文件。在“项目属性”对话框的“签名”选项卡中配置示例项目,以在生成时使用此密钥文件对程序集签名。

生成强名称密钥文件

  1. 若要打开 Microsoft Visual Studio 2005 命令提示,请单击“开始”,依次指向“所有程序”、Microsoft Visual Studio 2005 和“Visual Studio 工具”,然后单击“Visual Studio 2005 命令提示”。

    - 或 -

    若要打开 Microsoft .NET Framework 命令提示,请单击“开始”,依次指向“所有程序”和 Microsoft .NET Framework SDK v2.0,然后单击“SDK 命令提示”。

  2. 在命令提示符下,使用更改目录 (CD) 命令将命令提示窗口的当前文件夹更改为 Samples 文件夹。在此文件夹中创建的密钥文件将由所有 SQL Server 2005 代码示例使用。

    ms365193.note(zh-cn,SQL.90).gif注意:
    若要确定示例所在的文件夹,请单击“开始”,依次指向“所有程序”、Microsoft SQL Server 2005 、“文档和教程”,然后单击“示例目录”。如果使用了默认安装位置,则示例将位于 <system_drive>:\Program Files\Microsoft SQL Server\90\Samples 中。
  3. 在命令提示符下,运行以下命令以生成密钥文件:

    sn -k SampleKey.snk
    
    ms365193.note(zh-cn,SQL.90).gif重要提示:
    有关强名称密钥对的详细信息,请参阅 MSDN 上 .NET 开发中心中的“安全简讯:.NET Framework 中的强名称和安全性”。
  4. 在后续步骤中,您需要密钥文件中的公钥标记。若要获取公钥标记,请先在命令提示符下运行以下命令,以将公钥从密钥文件提取至新文件:

    sn -p SampleKey.snk SampleKeyPublic.snk
    

    现在,在命令提示符下运行以下命令,便会在新文件中显示公钥标记:

    sn -t SampleKeyPublic.snk
    

    将公钥标记复制到剪贴板或将其保存起来以便将来使用。

在 Microsoft Visual Studio 2005 中生成示例

  1. 在**“文件”|“打开”菜单中,单击“项目”**并打开 Excel2ConnMgrVB.slnExcel2ConnMgrCS.sln

  2. 在解决方案资源管理器中,选择 Excel2ConnMgrVB 或 Excel2ConnMgrCS 项目。

  3. 在 Excel2ConnMgrCS.cs 文件或 Excel2ConnMgrVB.vb 文件中的类声明之前找到 DtsConnection 特性,并用先前从密钥文件中获取的公钥标记替换该特性的 UITypeName 属性中公钥标记的字母数字值。

  4. 在**“生成”菜单上,单击“生成解决方案”**以生成解决方案。

安装示例

同时提供此示例的 Visual Basic 和 C# 版本。为了区分每个示例版本的程序集,在输出程序集的名称中追加有 CS 或 VB。成功生成组件后,在 Business Intelligence Development Studio 中按照以下步骤将其添加为包中的连接管理器。

将组件复制到 Connections 文件夹

  1. 打开 Windows 资源管理器或要在文件系统中使用的首选应用程序。

  2. 将程序集(Excel2ConnMgrCS.dll 和 Excel2ConnMgrUICS.dll 或者 Excel2ConnMgrVB.dll 和 Excel2ConnMgrUIVB.dll)复制到位于 %system%\Program Files\Microsoft SQL Server\90\DTS\ConnectionsConnections 文件夹。

通过拖放程序集的方式将组件安装到全局程序集缓存 (GAC) 中

  1. 打开 Windows 资源管理器或要在文件系统中使用的首选应用程序。

  2. 将程序集从 Connections 文件夹拖到全局程序集缓存 (GAC) 所在的文件夹,即 %system%\assembly 文件夹。

使用 gacutil.exe 将组件安装到全局程序集缓存 (GAC) 中

  1. 打开命令提示符窗口。

  2. 键入以下命令以将 C# 版本的组件和用户界面安装到 GAC:

    gacutil.exe -iF "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\Excel2ConnectionManager Sample\CS\Excel2ConnMgrCS\bin\Debug\Excel2ConnMgrCS.dll"
    gacutil.exe -iF "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\Excel2ConnectionManager Sample\CS\Excel2ConnMgrUICS\bin\Debug\Excel2ConnMgrUICS.dll"
    

    - 或 -

    键入以下命令以将 Visual Basic 版本的组件和用户界面安装到 GAC:

    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\Excel2ConnectionManager Sample\VB\Excel2ConnMgrVB\bin\Debug\Excel2ConnMgrVB.dll"
    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\Excel2ConnectionManager Sample\VB\Excel2ConnMgrVB\bin\Debug\Excel2ConnMgrUIVB.dll"
    

测试示例

现在就可以测试包中的自定义连接管理器了。

使用包中的示例连接管理器

  1. 在 SSIS 设计器的连接管理器区域中单击右键,选择**“新建连接”,然后在可用的连接类型列表中选择 EXCEL2。单击“确定”**。

  2. 编辑新的连接管理器。在**“Excel2 连接管理器编辑器”**中,定位到可用的 Excel 工作簿文件。使用复选框指定表头设置和导入模式设置。

    ms365193.note(zh-cn,SQL.90).gif注意:
    Excel2 自定义连接管理器示例不能与仅支持内置 Excel 连接管理器的 Excel 源一起使用。请改用 DataReader 源测试它。