Bir özel görevi bulunan veri kaynaklarına bağlanma
Görev almak veya Bağlantı Yöneticisi'ni kullanarak verileri kaydetmek için dış veri kaynaklarına bağlanın.Tasarım sırasında saat, Bağlantı Yöneticisi'ni temsil eden mantıksal bir bağlantı ve sunucu adı ve kimlik doğrulaması özellikleri gibi önemli bilgileri açıklar.Çalışma sırasında saat, çağrı görevleri AcquireConnection yöntem, Bağlantı Yöneticisi fiziksel bağlantısı için veri kaynak.
Her biri olabilir bağlantıları farklı veri kaynakları için pek çok görev bir paket içerdiğinden paketin içindeki tüm bağlantı yöneticileri izler bir koleksiyon, Connections koleksiyon.Koleksiyonda görevleri kullanmak kendi paket doğrulama ve yürütme sırasında kullanacağı Yöneticisi bağlantıyı bulmak için.The Connections collection is the first parameter to the Validate and Execute methods.
Görev görüntüleyerek yanlış Bağlantı Yöneticisi'ni kullanarak önlemek ConnectionManager kullanıcıya bir iletişim kutusu veya açılan - kullanarak nesneleri koleksiyonundankapalı listesinde grafik kullanıcı arabirim.Bu kullanıcı yalnızca olanlar arasından seçmek için bir yol sağlar ConnectionManager türündeki nesneler uygun bulunan paket.
Görevler çağrısı AcquireConnection yöntem fiziksel bağlantısı için veri kaynak.Yöntem, daha sonra görev tarafından kullanılan bağlantı nesnesini döndürür.Bağlantı Yöneticisi bağlantı nesnesini görevden uygulama ayrıntılarını yalıtan çünkü görev yalnızca aranacak olan AcquireConnection bağlantı kurmak için yöntem ve diğer yönleri bağlantısı. ile merak yok
Örnek
Aşağıdaki örnek kod doğrulama göstermektedir ConnectionManager ad doğrulama yöntemleri çalıştırma ve nasıl kullanılacağını gösteren AcquireConnection yöntem fiziksel bağlantısı Execute yöntem.
private string connectionManagerName = "";
public string ConnectionManagerName
{
get { return this.connectionManagerName; }
set { this.connectionManagerName = value; }
}
public override DTSExecResult Validate(
Connections connections, VariableDispenser variableDispenser,
IDTSComponentEvents componentEvents, IDTSLogging log)
{
// If the connection manager exists, validation is successful;
// otherwise, fail validation.
try
{
ConnectionManager cm = connections[this.connectionManagerName];
return DTSExecResult.Success;
}
catch (System.Exception e)
{
componentEvents.FireError(0, "SampleTask", "Invalid connection manager.", "", 0);
return DTSExecResult.Failure;
}
}
public override DTSExecResult Execute(Connections connections,
VariableDispenser variableDispenser, IDTSComponentEvents componentEvents,
IDTSLogging log, object transaction)
{
try
{
ConnectionManager cm = connections[this.connectionManagerName];
object connection = cm.AcquireConnection(transaction);
return DTSExecResult.Success;
}
catch (System.Exception exception)
{
componentEvents.FireError(0, "SampleTask", exception.Message, "", 0);
return DTSExecResult.Failure;
}
}
Private _connectionManagerName As String = ""
Public Property ConnectionManagerName() As String
Get
Return Me._connectionManagerName
End Get
Set(ByVal Value As String)
Me._connectionManagerName = value
End Set
End Property
Public Overrides Function Validate( _
ByVal connections As Microsoft.SqlServer.Dts.Runtime.Connections, _
ByVal variableDispenser As Microsoft.SqlServer.Dts.Runtime.VariableDispenser, _
ByVal componentEvents As Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents, _
ByVal log As Microsoft.SqlServer.Dts.Runtime.IDTSLogging) _
As Microsoft.SqlServer.Dts.Runtime.DTSExecResult
' If the connection manager exists, validation is successful;
' otherwise fail validation.
Try
Dim cm As ConnectionManager = connections(Me._connectionManagerName)
Return DTSExecResult.Success
Catch e As System.Exception
componentEvents.FireError(0, "SampleTask", "Invalid connection manager.", "", 0)
Return DTSExecResult.Failure
End Try
End Function
Public Overrides Function Execute( _
ByVal connections As Microsoft.SqlServer.Dts.Runtime.Connections, _
ByVal variableDispenser As Microsoft.SqlServer.Dts.Runtime.VariableDispenser, _
ByVal componentEvents As Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents, _
ByVal log As Microsoft.SqlServer.Dts.Runtime.IDTSLogging, ByVal transaction As Object) _
As Microsoft.SqlServer.Dts.Runtime.DTSExecResult
Try
Dim cm As ConnectionManager = connections(Me._connectionManagerName)
Dim connection As Object = cm.AcquireConnection(transaction)
Return DTSExecResult.Success
Catch exception As System.Exception
componentEvents.FireError(0, "SampleTask", exception.Message, "", 0)
Return DTSExecResult.Failure
End Try
End Function
|