创建SQL Server连接 URI

Microsoft BizTalk Adapter for SQL Server 连接 URI 包含适配器用于建立与 SQL Server 数据库连接的属性。 本主题提供有关SQL Server连接 URI 的信息,并提供指向其他主题的链接,这些主题介绍如何在不同的编程方案中指定 URI。

SQL 适配器的连接 URI

WCF 中典型的终结点地址 URI 表示为: scheme://hostinfoparams?query_string,其中:

  • scheme 是方案名称。

  • hostinfoparams 是建立与主机的连接所需的信息;例如,服务器名称。

  • query_string是由问号 ( ) 分隔的参数的可选名称-值集合。

    SQL 适配器连接 URI 遵循此基本格式,实现方式如下:

  
mssql://[Server_Name[:Portno]]/[Database_Instance_Name]/[Database_Name]?FailoverPartner=[Partner_Server_Name]&InboundId=[Inbound_ID]  

其中, mssql 是SQL Server连接 URI 的方案。

下表说明了连接 URI 中包含的属性。

连接 URI 属性 类别 说明
[SERVER_NAME] hostinfoparams 安装SQL Server的服务器的名称。 如果未指定值,适配器会将服务器名称假定为“localhost”,并与本地服务器上的 SQL Server 数据库建立连接。
[PORTNO] hostinfoparams 建立连接的端口号。 如果未指定值,适配器将通过默认端口进行连接。
[DATABASE_INSTANCE_NAME] hostinfoparams 要连接到的SQL Server实例的名称。 如果未指定值,适配器将连接到默认数据库实例。
[DATABASE_NAME] hostinfoparams 要连接到的数据库的名称。 如果未指定值,适配器将连接到默认数据库。
[PARTNER_SERVER_NAME] query_string 如果主SQL Server数据库不可用,则要连接到的故障转移SQL Server数据库的名称。 有关SQL Server高可用性的详细信息,请参阅 SQL Server 中的数据库镜像
[INBOUND_ID] query_string 添加到连接 URI 以使其唯一的标识符。 如果要为 TypedPolling 入站操作生成元数据,则必须提供此连接参数。 此外,在 BizTalk 应用程序中,如果多个接收位置轮询同一数据库,则入站 ID 会使连接 URI 唯一,从而使适配器客户端能够接收来自不同接收位置上的同一数据库的轮询消息。 有关详细信息,请参阅使用 BizTalk Server 从 SQL 接收跨多个接收端口轮询消息

注意

有关这些连接字符串属性的详细信息,请参阅 SqlConnection.ConnectionString 属性

SQL Server凭据和连接 URI

SQL 适配器不支持在连接 URI 中指定凭据。 有关在使用 SQL 适配器的应用程序中指定凭据的详细信息,请参阅 保护 SQL 应用程序

在连接 URI 中使用特殊字符

SQL 适配器不支持指定任何参数值具有特殊字符的连接 URI。 如果连接参数值包含特殊字符,请确保执行下列操作之一:

  • 如果要使用“添加适配器服务引用插件”或“使用适配器服务加载项”在 Visual Studio 中指定 URI,则必须在“ URI 属性 ”选项卡中按原样指定 URI,即不使用任何转义字符。 如果直接在 “配置 URI” 字段中指定 URI,并且连接参数包含特殊字符,则必须使用正确的转义字符指定连接参数。

    例如,如果连接 URI 具有名为 sql server的参数,则必须将其指定为 sql%20server

  • 如果在 BizTalk Server 管理控制台中创建发送或接收端口时指定 URI,并且连接参数包含特殊字符,则必须使用正确的转义字符指定连接参数。

使用连接 URI 连接到SQL Server数据库

下面是 SQL 适配器的示例连接 URI。

mssql://sql_server/sql_server_instance//  

在前面的示例中,“sql_server”是安装SQL Server的计算机的名称,而“sql_server_instance”是要连接到的数据库实例的名称。 由于未指定数据库名称,因此适配器将连接到默认数据库。

下面是连接 URI 的示例,其中 SQL Server 数据库与 SQL 适配器安装在同一台计算机上。 在此示例中,适配器连接到本地计算机上“sql_server_instance”数据库实例的数据库“my_database”。

mssql://localhost/sql_server_instance/my_database/  

在此示例中,适配器连接到本地计算机上运行的默认实例的默认数据库。

mssql://localhost///  

有关如何在以下情况下指定与 SQL Server 数据库的连接的信息:

另请参阅

开发 SQL 应用程序