EnumBusinessLogicHandlers 메서드
SQL Server 2008 R2
Returns the business logic handlers registered at the server.
어셈블리: Microsoft.SqlServer.Rmo(Microsoft.SqlServer.Rmo.dll)
The EnumBusinessLogicHandlers method can only be called by members of the sysadmin fixed server role and members of the db_owner fixed database role.
Calling EnumBusinessLogicHandlers is equivalent to executing sp_enumcustomresolvers(Transact-SQL).
This namespace, class, or member is supported only in version 2.0 of the .NET Framework.
// Specify the Distributor name and business logic properties. string distributorName = publisherInstance; string assemblyName = @"C:\Program Files\Microsoft SQL Server\100\COM\CustomLogic.dll"; string className = "Microsoft.Samples.SqlServer.BusinessLogicHandler.OrderEntryBusinessLogicHandler"; string friendlyName = "OrderEntryLogic"; ReplicationServer distributor; BusinessLogicHandler customLogic; // Create a connection to the Distributor. ServerConnection distributorConn = new ServerConnection(distributorName); try { // Connect to the Distributor. distributorConn.Connect(); // Set the Distributor properties. distributor = new ReplicationServer(distributorConn); // Set the business logic handler properties. customLogic = new BusinessLogicHandler(); customLogic.DotNetAssemblyName = assemblyName; customLogic.DotNetClassName = className; customLogic.FriendlyName = friendlyName; customLogic.IsDotNetAssembly = true; Boolean isRegistered = false; // Check if the business logic handler is already registered at the Distributor. foreach (BusinessLogicHandler registeredLogic in distributor.EnumBusinessLogicHandlers()) { if (registeredLogic == customLogic) { isRegistered = true; } } // Register the custom logic. if (!isRegistered) { distributor.RegisterBusinessLogicHandler(customLogic); } } catch (Exception ex) { // Do error handling here. throw new ApplicationException(string.Format( "The {0} assembly could not be registered.", assemblyName), ex); } finally { distributorConn.Disconnect(); }
' Specify the Distributor name and business logic properties. Dim distributorName As String = publisherInstance Dim assemblyName As String = "C:\Program Files\Microsoft SQL Server\100\COM\CustomLogic.dll" Dim className As String = "Microsoft.Samples.SqlServer.BusinessLogicHandler.OrderEntryBusinessLogicHandler" Dim friendlyName As String = "OrderEntryLogic" Dim distributor As ReplicationServer Dim customLogic As BusinessLogicHandler ' Create a connection to the Distributor. Dim distributorConn As ServerConnection = New ServerConnection(distributorName) Try ' Connect to the Distributor. distributorConn.Connect() ' Set the Distributor properties. distributor = New ReplicationServer(distributorConn) ' Set the business logic handler properties. customLogic = New BusinessLogicHandler() customLogic.DotNetAssemblyName = assemblyName customLogic.DotNetClassName = className customLogic.FriendlyName = friendlyName customLogic.IsDotNetAssembly = True Dim isRegistered As Boolean = False ' Check if the business logic handler is already registered at the Distributor. For Each registeredLogic As BusinessLogicHandler _ In distributor.EnumBusinessLogicHandlers If registeredLogic Is customLogic Then isRegistered = True End If Next ' Register the custom logic. If Not isRegistered Then distributor.RegisterBusinessLogicHandler(customLogic) End If Catch ex As Exception ' Do error handling here. Throw New ApplicationException(String.Format( _ "The {0} assembly could not be registered.", _ assemblyName), ex) Finally distributorConn.Disconnect() End Try