Podłączanie do źródła danych do wykonywania zadania, skrypt
Menedżerowie połączenia zapewniają dostęp do źródeł danych, które zostały skonfigurowane w pakiecie.Aby uzyskać więcej informacji zobaczPołączenia usług integracja.
Zadania skryptów mogą uzyskać dostęp do tych menedżerów połączenia za pośrednictwem Connections() Właściwość Dts obiekt. Każdy Menedżer połączeń w Connections Kolekcja przechowuje informacje o sposobach łączenia się z danych źródłowych urządzenie źródłowe.
Gdy zostanie wywołana AcquireConnection(Object) Metoda Menedżera połączeń, Menedżer połączeń łączy się z danymi urządzenie źródłowe, jeśli nie jest już połączony i zwraca odpowiednie połączenie lub informacje o połączeniu do użycia w kodzie skryptu zadania.
Uwaga
Należy znać typ połączenia zwrócony przez menedżer połączeń, przed telefonicznej AcquireConnection. Ponieważ zadanie skryptu jest Option Strict włączone, użytkownik musi rzutować połączenia, który jest zwracany jako typ Object, odpowiednie połączenie typu przed jego użyciem.
Można użyć Contains(Object) Metoda Connections kolekcja zwróconego przez Connections() Właściwość, aby wyszukiwać istniejące połączenie, przed użyciem połączenia w kodzie.
Important Note: |
---|
Nie można wywołać AcquireConnection Metoda połączenia menedżerów, zwracających niezarządzanego obiektów, takich jak Menedżer połączeń OLE DB i Menedżer połączeń programu Excel w kodzie zarządzanym zadania skryptu. Jednak można znaleźć ConnectionString właściwość te Menedżera połączeń i połączyć się z danymi urządzenie źródłowe bezpośrednio w kodzie przy użyciu ciąg połączenia z OledbConnection z System.Data.OleDb obszar nazw. Jeśli musisz wywołać AcquireConnection Metoda Menedżera połączeń, który zwraca obiekt niezarządzanego użycia ADO.NET Menedżer połączeń. Po skonfigurowaniu ADO.NET Menedżer połączeń do używania dostawcy OLE DB, łączy się przy użyciu .NET Framework Dostawca danych OLE DB. W takim przypadek AcquireConnection Metoda zwraca System.Data.OleDb.OleDbConnection Zamiast obiektów niezarządzanego. Aby skonfigurować ADO.NET Menedżer połączeń do użytku z urządzenie źródłowe danych Excel wybierz Microsoft OLE DB dostawca for Jet, określ plik programu Excel, a następnie wprowadź Excel 8.0 (dla programu Excel 97 i nowszych) jako wartość Właściwości rozszerzone on the Wszystkie stronaMenedżer połączeń -okno dialogowe. |
Przykład połączenia
Poniższy przykład ilustruje sposób połączenia menedżerów z zadań skryptów w ramach dostępu.Próbki zakłada się, że zostały utworzone i skonfigurowane ADO.NET Menedżer połączeń o nazwie Połączenie testowe ADO.NET i Menedżera połączenia plik prosty o nazwie Testuj połączenie pliku płaski.Należy zauważyć, że ADO.NET Menedżer połączeń zwraca SqlConnection obiekt, który można użyć bezpośrednio połączyć się ze źródłem danych. Menedżer połączeń plik prosty z drugiej strony, zwraca tylko ciąg, który zawiera ścieżka i nazwę.Należy użyć metody z System.IO obszar nazw, aby otworzyć i pracować z plik prosty.
Public Sub Main()
Dim myADONETConnection As SqlClient.SqlConnection
myADONETConnection = _
DirectCast(Dts.Connections("Test ADO.NET Connection").AcquireConnection(Dts.Transaction), _
SqlClient.SqlConnection)
MsgBox(myADONETConnection.ConnectionString, _
MsgBoxStyle.Information, "ADO.NET Connection")
Dim myFlatFileConnection As String
myFlatFileConnection = _
DirectCast(Dts.Connections("Test Flat File Connection").AcquireConnection(Dts.Transaction), _
String)
MsgBox(myFlatFileConnection, MsgBoxStyle.Information, "Flat File Connection")
Dts.TaskResult = ScriptResults.Success
End Sub
using System;
using System.Data.SqlClient;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
public class ScriptMain
{
public void Main()
{
SqlConnection myADONETConnection = new SqlConnection();
myADONETConnection = (SqlConnection)(Dts.Connections["Test ADO.NET Connection"].AcquireConnection(Dts.Transaction)as SqlConnection);
MessageBox.Show(myADONETConnection.ConnectionString, "ADO.NET Connection");
string myFlatFileConnection;
myFlatFileConnection = (string)(Dts.Connections["Test Flat File Connection"].AcquireConnection(Dts.Transaction) as String);
MessageBox.Show(myFlatFileConnection, "Flat File Connection");
Dts.TaskResult = (int)ScriptResults.Success;
}
}
|