如何访问 Visual Basic 组件中的 COM + 对象构造函数字符串

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 271284
本文已归档。它按“原样”提供,并且不再更新。
概要
在 Microsoft Windows 2000 中,您可以配置为安装在 COM + 运行时中的每个动态链接库 (DLL) 组件的唯一对象构造函数字符串。此构造函数字符串通常用于指定所需的可访问的组件的所有对象实例初始化字符串。本文包括一个代码示例,演示了如何配置 COM + 对象构造函数字符串的组件的对象实例可以使用 Visual Basic 组件。
更多信息
构造函数字符串通常用于指定组件的对象实例用于建立数据库连接的数据库连接字符串。为此目的使用构造函数字符串的优点是它防止连接字符串硬编码组件的代码中。若要将该数据库服务器名称指向另一个数据库,或实现其他的修改您只需修改组件的 COM + 对象构造函数 ; 您不能更改该组件的代码和重新编译实际的 DLL。除了存储数据库连接信息,您也可以使用 COM + 对象构造函数字符串指定需要访问的组件为其配置的所有对象实例的任何初始化字符串。

如何配置 COM + 对象构造函数字符串

在 Visual Basic 组件应实现 IObjectConstruct COM + 界面,以启用访问 COM + 对象构造函数字符串已为它配置的对象实例。IObjectConstruct 公开一个命名构造 (IObjectConstruct_Construct) 将触发时创建该组件的对象实例的方法。您可以使用该构造函数的对象作为参数传递给此方法以获取配置的 COM + 对象构造函数字符串。若要实现一个示例,演示如何此功能,请执行以下步骤:
  1. 在 Visual Basic 中打开一个新的 ActiveX DLL 项目。
  2. 重命名项目"prjConstruct"。
  3. 重命名类模块"clsConstruct"。
  4. 设置对 COM + 服务库ActiveX 数据对象 2.5 库 的项目引用。
  5. 复制并粘贴以下代码在类模块中:
    'General Declarations SectionImplements IObjectConstructDim connstr As StringPrivate Sub IObjectConstruct_Construct(ByVal pCtorObj As Object)Dim mConstructString As IObjectConstructStringSet mConstructString = pCtorObjconnstr = mConstructString.ConstructStringEnd SubPublic Function GetAuthors() As ADODB.RecordsetDim cn As ADODB.ConnectionDim rs As ADODB.RecordsetSet cn = New ADODB.Connectioncn.Open connstrSet rs = New ADODB.Recordsetrs.CursorLocation = adUseClientrs.Open "Select * from Authors", cn, adOpenStatic, adLockBatchOptimisticSet rs.ActiveConnection = NothingSet GetAuthors = rsGetObjectContext.SetCompleteEnd Function						
    此代码示例演示如何实现 IObjectConstruct_Construct 访问 COM + 对象构造函数字符串。在 构造 对象参数必须为 IObjectConstructString 接口强制转换。IObjectConstructString 公开一个名为 ConstructString 可用于访问 COM + 对象构造函数字符串的属性。请注意分配给全局变量和 GetAuthors 函数中重复使用构造函数字符串的方式。
  6. 编译 DLL。若要进行 COM + 服务器应用程序的宿主 prjConstruct.clsConstruct 组件,请按照下列步骤操作:
    1. 在 $ 控制面版中指向 管理工具,然后单击 组件服务,打开组件服务 Microsoft 管理控制台 (MMC) 管理单元。
    2. 单击以展开 组件服务计算机我的电脑,和 COM + 应用程序 的节点。单击 COM + 应用程序
    3. 用鼠标右键单击 COM + 应用程序,指向 新建,然后再单击 应用程序
    4. 创建名为 VBComPlusTest,一个空的服务器端应用程序并设置其标识属性使用交互式用户的凭据。
    5. 完成向导,然后单击 完成。这将创建示例 COM + 应用程序用来承载 prjConstruct.clsConstruct Visual Basic 组件。
  7. 在"VBComPlusTest"COM + 应用程序中安装 prjConstruct.clsConstruct 组件,请按照下列步骤操作:
    1. 在组件服务 MMC 管理单元中,单击以展开 VBComPlusTest 节点。单击 组件 子文件夹。
    2. 用鼠标右键单击 组件,指向 新建,然后再单击 组件
    3. COM 组件安装向导中,单击 下一步,单击 安装新组件,和选择 prjConstruct.dll,然后单击 下一步
    4. 完成向导,然后单击 完成
  8. 打开 Visual Basic 组件 prjConstruct.clsConstruct 的属性窗口。
  9. 激活 选项卡上选择 启用对象构造 复选框。
  10. 构造函数字符串 框中指定下面的 ADO 连接字符串,然后单击 确定

    : 此示例使用 Microsoft SQL Server PUBS 示例数据库
    "Provider=SQLOLEDB;Data Source=<Your SQL Server>;Initial Catalog=pubs;" & _                   "User Id=<User Id>;Password=<Password>"					

如何使用 COM + 对象构造函数字符串

  1. 若要测试 Visual Basic COM + 组件的 Visual Basic 中打开一个新的标准 EXE 项目。默认情况下创建 Form1。
  2. 向 Form1 中添加列表框 (List1) 和一个命令按钮 (Command1)。
  3. 复制并粘贴以下代码的 Command1 事件中:
    Dim obj As ObjectDim rs As ObjectSet obj = CreateObject("prjConstruct.clsConstruct")Set rs = obj.GetAuthors()Do While Not rs.EOF  List1.AddItem rs.fields("au_fname")  rs.movenextLoopSet obj = Nothing					
  4. 保存在标准 EXE 项目并运行它。
  5. 单击填充作者表中的所有作者的名字列表框的 Command1
若要演示的 COM + 对象构造函数字符串用途,更改以指向一个不同的 SQL Server 还具有 PUBS 示例数据库的构造函数字符串中的 数据源 属性。您在运行客户端代码时都检索新数据源中的记录并将其显示。为此确认第二个 SQL Server PUBS 数据库中的作者表中添加新记录。

警告:本文已自动翻译

属性

文章 ID:271284 - 上次审阅时间:12/05/2015 21:22:52 - 修订版本: 1.2

Microsoft Visual Basic 5.0 专业版, Microsoft Visual Basic 6.0 专业版, Microsoft Visual Basic 5.0 企业版, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbnosurvey kbarchive kbmt kbhowto kbmdacnosweep KB271284 KbMtzh
反馈