設定 SQL 配接器的用戶端系結
產生 WCF 用戶端類別之後,您可以建立 WCF 用戶端 (實例) ,並叫用其方法來取用 Microsoft BizTalk Adapter for SQL Server。 如需如何針對 SQL 配接器所公開之作業產生 WCF 用戶端類別和協助程式程式碼的資訊,請參閱為 SQL Server Artifacts 產生 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 應用程式
產生 WCF 用戶端或 SQL Server 成品的 WCF 服務合約
建立SQL Server連線 URI