Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - 编程 » OLE DB 和 ADO 开发

 

OLE DB 连接参数

OLE DB 连接参数由 Microsoft 定义。SQL Anywhere OLE DB 提供程序支持这些连接参数的子集。典型的连接字符串如下所示:

"Provider=SAOLEDB;Data Source=myDsn;Initial Catalog=myDbn;
    User ID=myUid;Password=myPwd"

以下是提供程序支持的 OLE DB 连接参数。某些情况下,OLE DB 连接参数与 SQL Anywhere 连接参数完全相同(如 Password)或相似(如 User ID)。请注意,其中的很多连接参数都使用了空格。

  • Provider   此参数用于标识 SQL Anywhere OLE DB 提供程序 (SAOLEDB)。

  • User ID   此连接参数直接映射到 SQL Anywhere UserID (UID) 连接参数。例如: User ID=DBA.

  • Password   此连接参数直接映射到 SQL Anywhere Password (PWD) 连接参数。例如: Password=sql.

  • Data Source   此连接参数直接映射到 SQL Anywhere DataSourceName (DSN) 连接参数。例如: Data Source=SQL Anywhere 16 Demo.

  • Initial Catalog   此连接参数直接映射到 SQL Anywhere DatabaseName (DBN) 连接参数。例如: Initial Catalog=demo.

  • Location   此连接参数直接映射到 SQL Anywhere Host 连接参数。该参数值与 Host 参数值具有相同的格式。例如: Location=localhost:4444.

  • Extended Properties   OLE DB 使用此连接参数传入所有 SQL Anywhere 特定的连接参数。例如: Extended Properties="UserID=DBA;DBKEY=V3moj3952B;DBF=demo.db".

    ADO 使用此参数收集和传入所有它不识别的连接参数。

    某些 Microsoft 连接窗口包含名为 [Prov String] 或 [Provider String] 的字段。该字段的内容作为值传递给 Extended Properties。

  • OLE DB Services   此连接参数不经 SQL Anywhere OLE DB 提供程序直接处理。它控制 ADO 中的连接池。

  • Prompt   此连接参数控制连接尝试处理错误的方式。可能的提示值为 1、2、3 或 4。分别表示 DBPROMPT_PROMPT (1)、DBPROMPT_COMPLETE (2)、DBPROMPT_COMPLETEREQUIRED (3) 和 DBPROMPT_NOPROMPT (4)。

    缺省提示值为 4,表示提供程序不显示连接窗口。将提示值设置为 1 会始终显示连接窗口。将提示值设置为 2 会在初始连接尝试失败时显示连接窗口。如果将提示值设置为 3,则在初始连接尝试失败但提供程序禁用对连接到数据源所不需要的任何信息的控制时显示连接窗口。

  • Window Handle   应用程序可以在父窗口句柄适用时传递父窗口句柄,或者在窗口句柄不适用或提供程序不显示任何窗口时传递空指针。窗口句柄值通常为 0 (NULL)。

还可以指定其它 OLE DB 连接参数,但 OLE DB 提供程序会将其忽略。

调用 SQL Anywhere OLE DB 提供程序时,它会获取 OLE DB 连接参数的属性值。以下是从 Microsoft 的 RowsetViewer 应用程序获取的一组典型属性值。

User ID 'DBA' 
Password 'sql' 
Location 'localhost:4444' 
Initial Catalog 'demo'
Data Source 'testds' 
Extended Properties 'appinfo=api=oledb' 
Prompt 2 
Window Handle 0 

提供程序通过此组参数值构造的连接字符串为:

'DSN=testds;HOST=localhost:4444;DBN=demo;UID=DBA;PWD=sql;appinfo=api=oledb'

SQL Anywhere OLE DB 提供程序使用连接字符串、Window Handle 和 Prompt 值作为它所执行的数据库服务器连接调用的参数。

以下是一个简单的 ADO 连接字符串示例。

connection.Open "Provider=SAOLEDB;UserID=DBA;Location=localhost:4444;Pwd=sql"

ADO 对连接字符串进行分析并将所有无法识别的连接参数传入 Extended Properties 中。调用 SQL Anywhere OLE DB 提供程序时,它会获取 OLE DB 连接参数的属性值。以下是一组从使用上述连接字符串的 ADO 应用程序中获取的属性值。

User ID ''
Password ''
Location 'localhost:4444'
Initial Catalog ''
Data Source ''
Extended Properties 'UserID=DBA;Pwd=sql'
Prompt 4
Window Handle 0

提供程序通过此组参数值构造的连接字符串为:

'HOST=localhost:4444;UserID=DBA;Pwd=sql'

提供程序使用连接字符串、Window Handle 和 Prompt 值作为它所执行的数据库服务器连接调用的参数。

 另请参见