Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
SSIS integrációs futtatókörnyezet az Azure Data Factory-ban
Az Integration Services-objektummodell lehetővé teszi az egyéni feladatfejlesztők számára, hogy könnyen létrehozzák az egyéni felhasználói felületet egy feladathoz, amely ezután integrálható és megjeleníthető az SQL Server Data Toolsban (SSDT). A felhasználói felület hasznos információkat nyújthat a felhasználónak az SSIS Designerben, és útmutatást nyújthat a felhasználóknak az egyéni feladat tulajdonságainak és beállításainak helyes konfigurálásához.
Egy feladat egyéni felhasználói felületének fejlesztése két fontos osztály használatát foglalja magában. Az alábbi táblázat ezeket az osztályokat ismerteti.
| Osztály | Leírás |
|---|---|
| DtsTaskAttribute | Egy olyan attribútum, amely azonosít egy felügyelt feladatot, és a tulajdonságokon keresztül biztosítja a tervezési idő adatait annak szabályozásához, hogy az SSIS Designer hogyan jeleníti meg és használja az objektumot. |
| IDtsTaskUI | A tevékenység által a feladat egyéni felhasználói felületéhez való társításához használt felület. |
Ez a szakasz az attribútum és a DtsTaskAttributeIDtsTaskUI felület szerepkörét ismerteti, amikor egyéni feladathoz fejleszt felhasználói felületet, és részletesen ismerteti, hogyan hozhatja létre, integrálhatja, helyezheti üzembe és hibakereséssel végezheti el a feladatot az SSIS Designerben.
Az SSIS Designer több belépési pontot is biztosít a feladat felhasználói felületéhez: a felhasználó kiválaszthatja a Szerkesztés lehetőséget a helyi menüben, duplán kattintva a feladatra, vagy kattintson a tulajdonságlap alján található Szerkesztő megjelenítése hivatkozásra. Amikor a felhasználó hozzáfér ezen belépési pontok egyikéhez, az SSIS Designer megkeresi és betölti a feladat felhasználói felületét tartalmazó szerelvényt. A feladat felhasználói felülete felelős a felhasználó számára az SQL Server Data Tools (SSDT) szolgáltatásban megjelenő tulajdonságok párbeszédpaneljének létrehozásáért.
A feladat és a felhasználói felülete különálló entitások. Ezeket külön szerelvényekben kell megvalósítani a honosítási, üzembe helyezési és karbantartási munka csökkentése érdekében. A tevékenység DLL-je nem tölt be, nem hív meg vagy általában nem tartalmaz semmilyen ismeretet a felhasználói felületéről, kivéve a tevékenységben DtsTaskAttribute kódolt attribútumértékekben található információkat. Ez az egyetlen módja annak, hogy egy tevékenység és annak felhasználói felülete társítva legyen.
A DtsTask attribútum
Az DtsTaskAttribute attribútum szerepel a feladatosztály kódjában, hogy hozzárendeljen egy feladatot a felhasználói felületéhez. Az SSIS Designer az attribútum tulajdonságaival határozza meg, hogyan jelenjen meg a feladat a tervezőben. Ezek a tulajdonságok tartalmazzák a megjelenítendő nevet és az ikont, ha vannak ilyenek.
Az alábbi táblázat az attribútum tulajdonságait DtsTaskAttribute ismerteti.
| Ingatlan | Leírás |
|---|---|
| DisplayName | Megjeleníti a tevékenység nevét a Control Flow eszközkészletben. |
| Description | A tevékenység leírása (öröklődve innen DtsLocalizableAttribute). Ez a tulajdonság az elemleírásokban jelenik meg. |
| IconResource | Az SSIS Designerben megjelenő ikon. |
| RequiredProductLevel | Ha használja, állítsa be az enumerálás egyik értékére DTSProductLevel . Például: RequiredProductLevel = DTSProductLevel.None. |
| TaskContact | Kapcsolattartási adatokat tárol olyan esetekről, amikor a feladat technikai támogatást igényel. |
| TaskType | Típust rendel a tevékenységhez. |
| Attribútum.TypeId | Származtatott osztályban való implementáláskor az attribútum egyedi azonosítót kap. További információ: Attribute.TypeID tulajdonság a .NET keretrendszerosztálytárában. |
| UITypeName | Az SSIS Designer által a szerelvény betöltéséhez használt szerelvény típusneve. Ez a tulajdonság a feladat felhasználói felületi szerelvényének megkeresésére szolgál. |
Az alábbi példakód az DtsTaskAttribute osztálydefiníció fölött kódolt, a kinézetét szemlélteti.
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
[DtsTask
(
DisplayName = "MyTask",
IconResource = "MyTask.MyTaskIcon.ico",
UITypeName = "My Custom Task," +
"Version=1.0.0.0," +
"Culture = Neutral," +
"PublicKeyToken = 12345abc6789de01",
TaskType = "PackageMaintenance",
TaskContact = "MyTask; company name; any other information",
RequiredProductLevel = DTSProductLevel.None
)]
public class MyTask : Task
{
// Your code here.
}
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
<DtsTask(DisplayName:="MyTask", _
IconResource:="MyTask.MyTaskIcon.ico", _
UITypeName:="My Custom Task," & _
"Version=1.0.0.0,Culture=Neutral," & _
"PublicKeyToken=12345abc6789de01", _
TaskType:="PackageMaintenance", _
TaskContact:="MyTask; company name; any other information", _
RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
Inherits Task
' Your code here.
End Class 'MyTask
Az SSIS Designer a UITypeName szerelvény nevét, típusnevét, verzióját, kulturális környezetét és nyilvánoskulcs-jogkivonatát tartalmazó attribútum tulajdonságát használja a szerelvény globális szerelvénygyorsítótárban (GAC) való megkereséséhez és a tervező általi használatra való betöltéséhez.
A szerelvény létrehozása után az SSIS Designer az attribútum többi tulajdonságával további információkat jelenít meg a tevékenységről az SSIS Designerben, például a feladat nevét, ikonját és leírását.
A DisplayName, Descriptionés IconResource a tulajdonságok határozzák meg, hogyan jelenik meg a feladat a felhasználó számára. A IconResource tulajdonság a felhasználói felület szerelvényébe beágyazott ikon erőforrás-azonosítóját tartalmazza. A tervező betölti az ikonerőforrást azonosító alapján a szerelvényből, és megjeleníti azt az eszközkészletben és a tervezőfelületen a feladat neve mellett, amikor a feladatot hozzáadják egy csomaghoz. Ha egy tevékenység nem biztosít ikonerőforrást, a tervező egy alapértelmezett ikont használ a tevékenységhez.
Az IDTSTaskUI interfész
Az IDtsTaskUI interfész meghatározza az SSIS Designer által a feladathoz társított felhasználói felület inicializálásához és megjelenítéséhez hívott metódusok és tulajdonságok gyűjteményét. Amikor meghívja egy tevékenység felhasználói felületét, a tervező meghívja a Initialize metódust, amelyet a tevékenység felhasználói felülete implementál, amikor megírta, majd paraméterként adja meg TaskHost a feladat és Connections a csomag gyűjteményeit. Ezek a gyűjtemények helyileg vannak tárolva, és később használatosak a GetView metódusban.
A tervező meghívja a metódust, GetView hogy kérje le az SSIS Designerben megjelenő ablakot. A feladat létrehozza az ablak egy példányát, amely tartalmazza a feladat felhasználói felületét, és visszaadja a felhasználói felületet a tervezőnek megjelenítésre. A rendszer általában egy TaskHostConnections túlterhelt konstruktoron keresztül adhatja meg az ablaknak az objektumokat, hogy azok a feladat konfigurálásához használhatók legyenek.
Az SSIS Designer meghívja a GetView feladat felhasználói felületének metódusát a feladat felhasználói felületének megjelenítéséhez. A feladat felhasználói felülete ebből a metódusból adja vissza a Windows-űrlapot, az SSIS Designer pedig modális párbeszédpanelként jeleníti meg ezt az űrlapot. Az űrlap bezárásakor az SSIS Designer megvizsgálja az űrlap DialogResult tulajdonságának értékét annak megállapításához, hogy a tevékenység módosult-e, és hogy a módosításokat menteni kell-e. Ha a DialogResult tulajdonság értéke rendben van, az SSIS Designer meghívja a feladat adatmegőrzési módszereit a módosítások mentéséhez; ellenkező esetben a rendszer elveti a módosításokat.
Az alábbi kódminta implementálja az IDtsTaskUI interfészt, és feltételezi, hogy létezik egy SampleTaskForm nevű Windows-űrlaposztály.
using System;
using System.Windows.Forms;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Runtime.Design;
namespace Sample
{
public class HelloWorldTaskUI : IDtsTaskUI
{
TaskHost taskHost;
Connections connections;
public void Initialize(TaskHost taskHost, IServiceProvider serviceProvider)
{
this.taskHost = taskHost;
IDtsConnectionService cs = serviceProvider.GetService
( typeof( IDtsConnectionService ) ) as IDtsConnectionService;
this.connections = cs.GetConnections();
}
public ContainerControl GetView()
{
return new HelloWorldTaskForm(this.taskHost, this.connections);
}
public void Delete(IWin32Window parentWindow)
{
}
public void New(IWin32Window parentWindow)
{
}
}
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Runtime.Design
Imports System.Windows.Forms
Public Class HelloWorldTaskUI
Implements IDtsTaskUI
Dim taskHost As TaskHost
Dim connections As Connections
Public Sub Initialize(ByVal taskHost As TaskHost, ByVal serviceProvider As IServiceProvider) _
Implements IDtsTaskUI.Initialize
Dim cs As IDtsConnectionService
Me.taskHost = taskHost
cs = DirectCast(serviceProvider.GetService(GetType(IDtsConnectionService)), IDtsConnectionService)
Me.connections = cs.GetConnections()
End Sub
Public Function GetView() As ContainerControl _
Implements IDtsTaskUI.GetView
Return New HelloWorldTaskForm(Me.taskHost, Me.connections)
End Function
Public Sub Delete(ByVal parentWindow As IWin32Window) _
Implements IDtsTaskUI.Delete
End Sub
Public Sub [New](ByVal parentWindow As IWin32Window) _
Implements IDtsTaskUI.[New]
End Sub
End Class
Lásd még:
Egyéni feladat létrehozása
Egyéni feladat kódolása
Felhasználói felület fejlesztése egyéni feladathoz