为 SQL 适配器配置客户端绑定
生成 WCF 客户端类后,可以) 创建 WCF 客户端 (实例,并调用其方法来使用 Microsoft BizTalk 适配器进行SQL Server。 有关如何为 SQL 适配器公开的操作生成 WCF 客户端类和帮助程序代码的信息,请参阅为SQL Server项目生成 WCF 客户端或 WCF 服务协定。
若要创建 WCF 客户端,必须指定终结点地址和绑定。 终结点地址必须包含有效的 SQL 连接 URI,并且绑定必须是 SQL 绑定 (sqlBinding) 的实例。 有关 SQL 连接 URI 的详细信息,请参阅创建SQL Server连接 URI。 必须将用户凭据指定为连接 URI 的一部分。 可以使用 WCF 客户端的 ClientCredentials 属性,如本主题中所述。
可以在代码或配置文件中指定 SQL 绑定和终结点地址。 使用添加适配器服务参考 Visual Studio 插件生成 WCF 客户端类时,还会为项目创建配置文件 (app.config) 。 此文件包含的配置设置反映绑定属性和连接信息 (但凭据) (使用添加适配器服务引用插件连接到 SQL 数据库时指定的凭据除外)。
在代码中指定绑定和终结点地址
以下代码演示如何通过使用 WCF 客户端的 ClientCredentials 属性在代码中指定绑定和终结点地址来创建 WCF 客户端。
SqlAdapterBinding binding = new SqlAdapterBinding();
EndpointAddress sqlAddress = new EndpointAddress("mssql://<sql_server_name>//<database_name>?");
TableOp_dbo_CustomerClient client = new TableOp_dbo_CustomerClient (binding, sqlAddress);
client.ClientCredentials.UserName.UserName = "USER";
client.ClientCredentials.UserName.Password = "PASSWORD";
client.Open();
在配置文件中指定绑定和终结点地址
以下代码演示如何通过在 app.config 文件中指定绑定和终结点地址来创建 WCF 客户端。
TableOp_dbo_CustomerClient client = new TableOp_dbo_CustomerClient("SqlAdapterBinding_TableOp_dbo_Customer");
client.ClientCredentials.UserName.UserName = "USER";
client.ClientCredentials.UserName.Password = "PASSWORD";
client.Open();
以下 XML 显示通过添加适配器服务引用插件为 Customer 表创建的配置文件。 此文件包含前面示例中引用的客户端终结点配置。
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.serviceModel>
<bindings>
<sqlBinding>
<binding name="SqlAdapterBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" maxConnectionPoolSize="100"
encrypt="false" useAmbientTransaction="true" batchSize="20"
polledDataAvailableStatement="" pollingStatement="" pollingIntervalInSeconds="30"
pollWhileDataFound="false" notificationStatement="" notifyOnListenerStart="true"
enableBizTalkCompatibilityMode="true" chunkSize="4194304"
inboundOperationType="Polling" useDatabaseNameInXsdNamespace="false"
allowIdentityInsert="false" enablePerformanceCounters="false"
xmlStoredProcedureRootNodeName="" xmlStoredProcedureRootNodeNamespace="" />
</sqlBinding>
</bindings>
<client>
<endpoint address="mssql://<sql_server_name>//<database_name>?" binding="sqlBinding"
bindingConfiguration="SqlAdapterBinding" contract="TableOp_dbo_Customer"
name="SqlAdapterBinding_TableOp_dbo_Customer" />
</client>
</system.serviceModel>
</configuration>
如果项目有多个 WCF 客户端,配置文件中将定义多个客户端终结点条目。 每个 WCF 客户端条目将根据其绑定配置和目标SQL Server项目(例如“”SqlAdapterBinding_TableOp_dbo_Customer
)具有唯一的名称。 如果多次连接以在项目中创建 WCF 客户端,则会创建多个绑定配置条目,每个连接一个绑定配置条目。 这些绑定配置条目将按以下方式命名:SqlAdapterBinding、SqlAdapterBinding1 等。 在特定连接期间创建的每个客户端终结点条目都将引用在该连接期间创建的绑定项。
另请参阅
使用 WCF 服务模型开发 SQL 应用程序
为 SQL Server 项目生成 WCF 客户端或 WCF 服务协定
创建SQL Server连接 URI