Bagikan melalui


Menambahkan Koneksi Secara Terprogram

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Kelas mewakili ConnectionManager koneksi fisik ke sumber data eksternal. Kelas ConnectionManager ini mengisolasi detail implementasi koneksi dari runtime. Ini memungkinkan runtime untuk berinteraksi dengan setiap manajer koneksi secara konsisten dan dapat diprediksi. Manajer koneksi berisi properti stok yang memiliki semua koneksi yang sama, seperti Name, , IDDescription, dan ConnectionString. Namun, ConnectionString properti dan Name biasanya merupakan satu-satunya properti yang diperlukan untuk mengonfigurasi manajer koneksi. Tidak seperti paradigma pemrograman lainnya, di mana kelas koneksi mengekspos metode seperti Buka atau Sambungkan untuk membuat koneksi ke sumber data secara fisik, mesin run-time mengelola semua koneksi untuk paket saat berjalan.

Kelas Connections adalah kumpulan manajer koneksi yang telah ditambahkan ke paket tersebut dan tersedia untuk digunakan pada waktu proses. Anda dapat menambahkan lebih banyak manajer koneksi ke koleksi menggunakan Add metode pengumpulan, dan menyediakan string yang menunjukkan jenis manajer koneksi. Metode mengembalikan Add instans ConnectionManager yang ditambahkan ke paket.

Properti Intrinsik

Kelas ConnectionManager mengekspos sekumpulan properti yang umum untuk semua koneksi. Namun, terkadang Anda memerlukan akses ke properti yang unik untuk jenis koneksi tertentu. Koleksi Properties ConnectionManager kelas menyediakan akses ke properti ini. Properti dapat diambil dari koleksi menggunakan pengindeks atau nama properti dan metode GetValue , dan nilai diatur menggunakan metode SetValue . Properti properti objek koneksi yang mendasar juga dapat diatur dengan memperoleh instans aktual objek dan mengatur propertinya secara langsung. Untuk mendapatkan koneksi yang mendasar, gunakan InnerObject properti pengelola koneksi. Baris kode berikut menunjukkan baris C# yang membuat pengelola koneksi ADO.NET dengan kelas yang mendasar, ConnectionManagerAdoNetClass.

ConnectionManagerAdoNetClass cmado = cm.InnerObject as ConnectionManagerAdoNet;

Ini melemparkan objek pengelola koneksi terkelola ke objek koneksi yang mendasarnya. Jika Anda menggunakan C++, metode QueryInterface objek ConnectionManager dipanggil dan antarmuka objek koneksi yang mendasar diminta.

Tabel berikut mencantumkan manajer koneksi yang disertakan dengan Integration Services, dan string yang digunakan dalam package.Connections.Add("xxx") pernyataan. Untuk daftar semua manajer koneksi, lihat Koneksi Integration Services (SSIS).

String Manajer sambungan
"OLEDB" Pengelola koneksi untuk koneksi OLE DB.
"ODBC" Pengelola koneksi untuk koneksi ODBC.
"ADO" Pengelola koneksi untuk koneksi ADO.
"ADO.NET:SQL" Pengelola koneksi untuk koneksi ADO.NET (penyedia data SQL).
"ADO.NET:OLEDB" Pengelola koneksi untuk koneksi ADO.NET (penyedia data OLE DB).
"FLATFILE" Pengelola koneksi untuk koneksi file datar.
"FILE" Pengelola koneksi untuk koneksi file.
"MULTIFLATFILE" Pengelola koneksi untuk beberapa koneksi file datar.
"MULTIFILE" Pengelola koneksi untuk beberapa koneksi file.
"SQLMOBILE" Pengelola koneksi untuk koneksi Ringkas SQL Server.
"MSOLAP100" Pengelola koneksi untuk koneksi Analysis Services.
"FTP" Pengelola koneksi untuk koneksi FTP.
"HTTP" Pengelola koneksi untuk koneksi HTTP.
"MSMQ" Pengelola koneksi untuk koneksi Antrean Pesan (juga dikenal sebagai MSMQ).
"SMTP" Pengelola koneksi untuk koneksi SMTP.
"WMI" Pengelola koneksi untuk koneksi Microsoft Windows Management Instrumentation (WMI).

Contoh kode berikut menunjukkan penambahan koneksi OLE DB dan FILE ke Connections kumpulan Package. Contoh kemudian mengatur ConnectionStringproperti , Name, dan Description .

using System;
using Microsoft.SqlServer.Dts.Runtime;
  
namespace Microsoft.SqlServer.Dts.Samples
{
  class Program
  {
    static void Main(string[] args)
    {
      // Create a package, and retrieve its connections.
      Package pkg = new Package();
      Connections pkgConns = pkg.Connections;
  
      // Add an OLE DB connection to the package, using the
      // method defined in the AddConnection class.
      CreateConnection myOLEDBConn = new CreateConnection();
      myOLEDBConn.CreateOLEDBConnection(pkg);
  
      // View the new connection in the package.
      Console.WriteLine("Connection description: {0}",
         pkg.Connections["SSIS Connection Manager for OLE DB"].Description);
  
      // Add a second connection to the package.
      CreateConnection myFileConn = new CreateConnection();
      myFileConn.CreateFileConnection(pkg);
  
      // View the second connection in the package.
      Console.WriteLine("Connection description: {0}",
        pkg.Connections["SSIS Connection Manager for Files"].Description);
  
      Console.WriteLine();
      Console.WriteLine("Number of connections in package: {0}", pkg.Connections.Count);
  
      Console.Read();
    }
  }
  // <summary>
  // This class contains the definitions for multiple
  // connection managers.
  // </summary>
  public class CreateConnection
  {
    // Private data.
    private ConnectionManager ConMgr;
  
    // Class definition for OLE DB Provider.
    public void CreateOLEDBConnection(Package p)
    {
      ConMgr = p.Connections.Add("OLEDB");
      ConMgr.ConnectionString = "Provider=SQLOLEDB.1;" +
        "Integrated Security=SSPI;Initial Catalog=AdventureWorks;" +
        "Data Source=(local);";
      ConMgr.Name = "SSIS Connection Manager for OLE DB";
      ConMgr.Description = "OLE DB connection to the AdventureWorks database.";
    }
    public void CreateFileConnection(Package p)
    {
      ConMgr = p.Connections.Add("File");
      ConMgr.ConnectionString = @"\\<yourserver>\<yourfolder>\books.xml";
      ConMgr.Name = "SSIS Connection Manager for Files";
      ConMgr.Description = "Flat File connection";
    }
  }
  
}
Imports Microsoft.SqlServer.Dts.Runtime
  
Module Module1
  
  Sub Main()
  
    ' Create a package, and retrieve its connections.
    Dim pkg As New Package()
    Dim pkgConns As Connections = pkg.Connections
  
    ' Add an OLE DB connection to the package, using the
    ' method defined in the AddConnection class.
    Dim myOLEDBConn As New CreateConnection()
    myOLEDBConn.CreateOLEDBConnection(pkg)
  
    ' View the new connection in the package.
    Console.WriteLine("Connection description: {0}", _
      pkg.Connections("SSIS Connection Manager for OLE DB").Description)
  
    ' Add a second connection to the package.
    Dim myFileConn As New CreateConnection()
    myFileConn.CreateFileConnection(pkg)
  
    ' View the second connection in the package.
    Console.WriteLine("Connection description: {0}", _
      pkg.Connections("SSIS Connection Manager for Files").Description)
  
    Console.WriteLine()
    Console.WriteLine("Number of connections in package: {0}", pkg.Connections.Count)
  
    Console.Read()
  
  End Sub
  
End Module
  
' This class contains the definitions for multiple
' connection managers.
  
Public Class CreateConnection
  ' Private data.
  Private ConMgr As ConnectionManager
  
  ' Class definition for OLE DB provider.
  Public Sub CreateOLEDBConnection(ByVal p As Package)
    ConMgr = p.Connections.Add("OLEDB")
    ConMgr.ConnectionString = "Provider=SQLOLEDB.1;" & _
      "Integrated Security=SSPI;Initial Catalog=AdventureWorks;" & _
      "Data Source=(local);"
    ConMgr.Name = "SSIS Connection Manager for OLE DB"
    ConMgr.Description = "OLE DB connection to the AdventureWorks database."
  End Sub
  
  Public Sub CreateFileConnection(ByVal p As Package)
    ConMgr = p.Connections.Add("File")
    ConMgr.ConnectionString = "\\<yourserver>\<yourfolder>\books.xml"
    ConMgr.Name = "SSIS Connection Manager for Files"
    ConMgr.Description = "Flat File connection"
  End Sub
  
End Class

Contoh Output:

Connection description: OLE DB connection to the AdventureWorks database.

Connection description: Flat File connection.

Number of connections in package: 2

Lihat juga