Create(Type: EtlObjectType): IEtlObject;
Type. Type of ETL task object.
The Create method creates an ETL task object. Object type is passed by the Type parameter.
To execute the example, add links to the system assemblies:
Andy.
Drawing.
Dt.
Etl.
Metabase.
Executing the example requires that the repository contains a folder with the ETLTASKS identifier and the data.xls file on the local drive, from which data is imported. Create a new ETL task in the folder with the specified identifier. Add the task to the Import from Excel object.
Sub Main;
Var MB: IMetabase;
ci: IMetabaseObjectCreateInfo;
MbObj: IMetabaseObject;
EtlTask: IEtlTask;
EtlProvider: IEtlPlainDataProvider;
ExcelProvider: IDtExcelProvider;
WxConsumer: IWxRectangle;
WxETLConsumer: IWxEtlObject;
Begin
MB := MetabaseClass.Active;
//Create a new ETL task
ci := Mb.CreateCreateInfo;
ci.ClassId := MetabaseObjectClass.KE_CLASS_ETLTASK;
ci.Parent := MB.ItemById( "ETLTASKS" );
ci.Name := "ETL task" ;
ci.Id := "ETLTASK" ;
MbObj := Mb.CreateObject(ci).Edit;
EtlTask := MbObj As IEtlTask;
//Create the Import from Excel object
EtlProvider := EtlTask.Create(EtlObjectType.PlainDataExcelProvider) As IEtlPlainDataProvider;
EtlProvider := EtlProvider.Edit;
EtlProvider.Id := "File_XLS" ;
EtlProvider.Name := XLS data source ;
EtlProvider.Description := Data from the data.xls file ;
//Set up data source
ExcelProvider := EtlProvider.Provider As IDtExcelProvider;
ExcelProvider.File := "c:\data.xls" ;
ExcelProvider.DriverVersion := "Excel 8.0" ;
ExcelProvider.Query := select * from [Sheet1$] ;
ExcelProvider.HasHeader := False ;
EtlProvider.FillDefault;
//Save Excel source
EtlProvider.Save;
//Create a visual object
WxConsumer := EtlTask.Workspace.CreateRectangle;
WxETLConsumer := New WxEtlObject.Create;
WxETLConsumer.EtlObject := EtlProvider;
WxConsumer.Style.TextPosition := WxTextPosition.Bottom;
WxConsumer.Style.PictureMarginTop := - 10 ;
WxConsumer.PinPosition := New GxPointF.Create(50, 50 );
WxConsumer.Extension := WxETLConsumer As IWxShapeExtension;
//Save repository object
MbObj.Save;
End Sub Main;
After executing the example an ETL task named EYL Task is created in the folder with the ETLTASKS identifier. The Import from Excel object with the FILE_XLS identifier is added to this ETL task, data is taken from the c:\data.xls file.
See also: