如何使用与 RDO 和 DAO 的 DSN-小于 ODBC 连接

文章编号: 147875 - 查看本文应用于的产品
展开全部 | 关闭全部

本页

概要

与 Microsoft Visual Basic 版本 4.0、 5.0 和 windows 6.0,您可以指定您的 ODBC (开放式数据库连接(ODBC)) 驱动程序和服务器在连接字符串中使用 RDO (远程数据对象) 和无需设置一个 DSN (数据源名称) 的 DAO (数据访问对象) 时。我们调用此"DSN-降低"ODBC 连接,因为您不需要设置以访问您的 ODBC 数据库服务器的 DSN。

若要执行此操作指定一个"驱动程序 ="和"服务器 ="参数在您的连接字符串,如下例所示。

注意您必须更改用户名 = <username>和 PWD = < 强密码 > 到正确的值,在运行此代码之前。请确保用户名具有适当的权限在数据库上执行此操作。
   cnstr = "driver={SQL Server};server=myserver;" & _
     "database=mydb;Username=<username>;PWD=<strong password>;dsn=;"
   Set cn = en.OpenConnection("", False, False, cnstr)
				

注: 驱动程序名称必须用大括号。例如:"{SQL Server}。

(注意: 在 Visual Basic 4.0 16 位的 DSN 小于连接将不起作用。如果您试图使用它们将常规保护错误模块 ODBC.DLL 中在获得 0006:080F)。

更多信息

在 windows 的 Microsoft Visual Basic 版本 3.0,您必须创建一个 DSN 时将应用程序的分发,因为每个工作站必须有要访问指定的服务器和数据库创建 DSN 添加额外的步骤。这样无论是手动使用 ODBC 管理实用工具通过与 RegisterDatabase 函数的代码或与 SQLConfigDatasource API 函数的代码。有关如何手动执行此安装程序,请参阅下列文章 Microsoft 知识库中相应的附加信息:
123008 标题: 如何设置 ODBC 数据源时分发的应用程序

126940: RegisterDatabase 失败之后安装的 ODBC 版本 2.x

132329: RegisterDatabase 方法不会修改 ODBC.INI 文件

示例程序

下面的 RDO 示例使用"dsn 的"ODBC 连接,因此您不必预先设置了一个 DSN 使用 ODBC 管理实用程序。
  1. 在 Visual Basic 中开始新项目。默认情况下创建 Form1。
  2. 将命令按钮添加到 Form1,Command1 默认情况下。
  3. 将以下代码粘贴到 Form1 的通用声明部分。

    注意您必须更改用户名 = <username>和 PWD = < 强密码 > 到正确的值,在运行此代码之前。请确保用户名具有适当的权限在数据库上执行此操作。
          Dim en As rdoEnvironment
          Dim cn As rdoConnection
    
          Private Sub Form_Load()
            MousePointer = vbHourglass
            Dim strConnect As String
            ' Change the next line to reflect your driver and server.
            strConnect = "driver={SQL Server};server=jonfo5;" & _
              "database=pubs;Username=<username>;PWD=<strong password>;"
            Set en = rdoEngine.rdoEnvironments(0)
            Set cn = en.OpenConnection( _
              dsName:="", _
              Prompt:=rdDriverNoPrompt, _
              ReadOnly:=False, _
              Connect:=strConnect)
            cn.QueryTimeout = 600
            MousePointer = vbNormal
          End Sub
          Private Sub Command1_Click()
            MousePointer = vbHourglass
            Dim rs As rdoResultset
            Set rs = cn.OpenResultset(Name:="Select * from authors", _
              Type:=rdOpenForwardOnly, _
              LockType:=rdConcurReadOnly, _
              Options:=rdExecDirect)
            Debug.Print rs(0), rs(1), rs(2)
            MousePointer = vbNormal
          End Sub
    
    						
  4. 请注意您必须更改 OpenConnection 方法中的您 DRIVER、 服务器、 DATABASE、 UID,和 PWD 参数。您还需要修改 SQL 语句以匹配您自己的 SQL Command1_Click 事件中包含数据源。
  5. 检查项目引用中的 Microsoft 远程数据对象。
  6. 启动程序,或按 F5 键。
  7. 单击 Command1 按钮以创建一个 rdoResultset 并在调试窗口中显示数据的第一行。

参考

Visual Basic 和 SQL Server,Microsoft Press hitchhiker 的指南。
ISBN: 1-55615-906-4。

属性

文章编号: 147875 - 最后修改: 2004年8月30日 - 修订: 2.1
这篇文章中的信息适用于:
  • Microsoft Visual Basic 5.0 专业版
  • Microsoft Visual Basic 6.0 专业版
  • Microsoft Visual Basic 5.0 企业版
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 专业版
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
关键字:?
kbmt kbhowto kbrdo KB147875 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 147875
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈