使用 Microsoft SQL Server 交互应用程序可创建 Microsoft 链接服务器,该服务器使用 SQL Anywhere OLE DB 提供程序来获取 SQL Anywhere 数据库的访问权限。
前提条件
SQL Server 2000 或更高版本。
对于 Microsoft SQL Server 2005/2008,启动 SQL Server Management Studio。对于其它版本的 SQL Server,此应用程序的名称和设置链接服务器的步骤可能会有所不同。
在 [Object Explorer] 窗格中,展开 [Server Objects] » [Linked Servers]。右击 [Linked Servers] 并单击 [New Linked Server]。
填充 [General] 页。
[General] 页上的 [Linked Server] 字段应包含 Linked Server 的名称(如上例中的 SADATABASE)。
应选择 [Other Data Source] 选项,并从 [Provider] 列表中选择 [SQL Anywhere OLE DB Provider 16]。
[Product Name] 字段可以填入任意名称(例如 SQL Anywhere 或您的应用程序名称)。
[Data Source] 字段可包含 ODBC 数据源名 (DSN)。这是一个便捷选项,不一定非得包含数据源名。如果使用系统 DSN,则必须是适用于 32 位 SQL Server 版本的 32 位 DSN,或者是适用于 64 位 SQL Server 版本的 64 位 DSN。
Data Source: SQL Anywhere 16 Demo |
[Provider String] 字段可以包含其它连接参数,例如 UserID (UID)、ServerName (Server) 和 DatabaseFile (DBF)。
Provider string: Server=myserver;DBF=sample.db |
[Location] 字段可以包含与 SQL Anywhere Host 连接参数等效的内容(例如,localhost:4444 或 10.25.99.253:2638)。
Location: AppServer-pc:2639 |
[Initial Catalog] 字段可以包含要连接的数据库的名称(例如,demo)。此数据库必须已经处于打开状态。
Initial Catalog: demo |
上述最后四个字段与 [Security] 页面中的用户 ID 和口令的组合必须包含足够多的信息才能成功连接到数据库服务器。
不要在 [Provider String] 字段中指定数据库用户 ID 和口令作为连接参数(因为它是以纯文本显示的),而应该在 [Security] 页面中填写。
在 SQL Server 2005/2008 中,单击 [Be made using this security context] 选项并填写 [Remote login] 和 [With password] 字段(口令以星号显示)。
转到 [Server Options] 页面。
启用 [RPC] 和 [RPC Out] 选项。
完成该操作的方法因 Microsoft SQL Server 的版本而异。在 SQL Server 2000 中,必须为这两个选项选中两个复选框。在 SQL Server 2005/2008 中,这些选项具有 True/False 设置。确保将它们设置为 True。要在 SQL Anywhere 数据库中执行存储过程/函数调用,并成功地传递参数(传入和传出),则必须设置 [Remote Procedure Call] ([RPC]) 选项。
选择 [Allow Inprocess] 提供程序选项。
完成该操作的方法因 Microsoft SQL Server 的版本而异。在 SQL Server 2000 中有一个 [Provider Options] 按钮,可将您引至能选择此选项的页面。对于 SQL Server 2005/2008,在 [Linked Servers] » [Providers] 下右击 SAOLEDB.16 提供程序并单击 [Properties]。确保选中 [Allow Inprocess] 复选框。如果未选择 [Inprocess] 选项,则查询将失败。
可忽略其它提供程序选项。这些选项中有些与 SQL Server 的向后兼容性有关,并且不会影响 SQL Server 与 SQL Anywhere OLE DB 提供程序的交互方式。例如,[Nested queries] 和 [Supports LIKE operator]。选择其它选项可能会产生语法错误或导致性能降低。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |