?? dts.~pas
字號:
//以下初始化字段對應關系
If InStr(LineText,'DTS.DataPumpTransformCopy') > 0 Then
begin
ColumnListCount := ColumnListCount + 1 ;
end
Else If InStr(LineText, 'SourceColumns.New') > 0 Then
begin
S := True;
D := False;
end
Else If InStr(LineText, 'DestinationColumns.New') > 0 Then
begin
D := True;
S := False;
end
Else If InStr(LineText, 'oColumn.Name') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_Name := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
If D Then ColumnList[ColumnListCount].DestinationColumns_Name := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oColumn.Ordinal') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_Ordinal := StrToInt(Trim(tmp));
If D Then ColumnList[ColumnListCount].DestinationColumns_Ordinal := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oColumn.Flags') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_Flags := StrToInt(Trim(tmp));
If D Then ColumnList[ColumnListCount].DestinationColumns_Flags := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oColumn.Size') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_Size := StrToInt(Trim(tmp));
If D Then ColumnList[ColumnListCount].DestinationColumns_Size := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oColumn.DataType') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_DataType := StrToInt(Trim(tmp));
If D Then ColumnList[ColumnListCount].DestinationColumns_DataType := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oColumn.Precision') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_Precision := StrToInt(Trim(tmp));
If D Then ColumnList[ColumnListCount].DestinationColumns_Precision := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oColumn.NumericScale') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_NumericScale := StrToInt(Trim(tmp));
If D Then ColumnList[ColumnListCount].DestinationColumns_NumericScale := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oColumn.Nullable') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If S Then ColumnList[ColumnListCount].SourceColumns_Nullable := (LowerCase(Trim(tmp)) = 'true');
If D Then ColumnList[ColumnListCount].DestinationColumns_Nullable := (LowerCase(Trim(tmp)) = 'true');
end
//以下初始化DTS包
Else If InStr(LineText, 'goPackage.Name') > 0 Then
begin
tmp :=Split(LineText, '=')[1];
goPackageValues.Name := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'goPackage.WriteCompletionStatusToNTEventLog') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.WriteCompletionStatusToNTEventLog := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.FailOnError') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.FailOnError := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.PackagePriorityClass') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.PackagePriorityClass := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'goPackage.MaxConcurrentSteps') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.MaxConcurrentSteps := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'goPackage.LineageOptions') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.LineageOptions := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'goPackage.UseTransaction') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.UseTransaction := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.TransactionIsolationLevel') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.TransactionIsolationLevel := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'goPackage.AutoCommitTransaction') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.AutoCommitTransaction := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.RepositoryMetadataOptions') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.RepositoryMetadataOptions := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'goPackage.UseOLEDBServiceComponents') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.UseOLEDBServiceComponents := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.LogToSQLServer') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.LogToSQLServer := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.LogServerFlags') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.LogServerFlags := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'goPackage.FailPackageOnLogFailure') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.FailPackageOnLogFailure := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.ExplicitGlobalVariables') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.ExplicitGlobalVariables := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'goPackage.FailPackageOnLogFailure') > 0 Then
begin
tmp := Split(LineText, '=')[1];
goPackageValues.FailPackageOnLogFailure := StrToBool(Trim(tmp));
end
//初始化DTSFlatFile參數
Else If InStr(LineText, 'goPackage.Connections.New("DTSFlatFile")') > 0 Then
begin
DTSFlatFile[1].IsUsed := True;
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Data Source")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_DataSource := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Mode")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_Mode := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Row Delimiter")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_RowDelimiter := #13#10;
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("File Format")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_FileFormat := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Column Delimiter")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_ColumnDelimiter := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("File Type")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_FileType := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Skip Rows")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_SkipRows := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("First Row Column Name")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_FirstRowColumnName := (LowerCase(Trim(tmp)) = 'true');
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Number of Column")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_NumberofColumn := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Max characters per delimited column")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_Maxcharactersperdelimitedcolumn := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Column Lengths")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_ColumnLengths := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Column Names")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_ColumnNames := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Text Qualifier Col Mask: 0=no, 1=yes, e.g. 0101")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_TextQualifierColMask := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oConnection.ConnectionProperties("Blob Col Mask: 0=no, 1=yes, e.g. 0101")') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ConnectionProperties_BlobColMask := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oConnection.ID') > 0 Then
begin
tmp := Split(LineText, '=')[1];
If DTSFlatFile[1].IsUsed Then DTSFlatFile[1].oConnection_ID := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'goPackage.Connections.Add oConnection') > 0 Then
begin
If DTSFlatFile[1].IsUsed Then
begin
DTSFlatFile[3] := DTSFlatFile[2];
DTSFlatFile[2] := DTSFlatFile[1];
DTSFlatFile[1].IsUsed := False;
end
end
//初始化oCustomTask1
Else If InStr(LineText, 'oCustomTask1.SourceConnectionID') > 0 Then
begin
tmp := Split(LineText, '=')[1];
oCustomTaskValue.oCustomTask1_SourceConnectionID := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oCustomTask1.SourceObjectName') > 0 Then
begin
tmp := Split(LineText, '=')[1];
oCustomTaskValue.oCustomTask1_SourceObjectName := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oCustomTask1.SourceSQLStatement') > 0 Then
begin
tmp := Split(LineText, '=')[1];
oCustomTaskValue.oCustomTask1_SourceSQLStatement := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
end
Else If InStr(LineText, 'oCustomTask1.DestinationConnectionID') > 0 Then
begin
tmp := Split(LineText, '=')[1];
oCustomTaskValue.oCustomTask1_DestinationConnectionID := StrToInt(Trim(tmp));
end
Else If InStr(LineText, 'oCustomTask1.DestinationObjectName') > 0 Then
begin
tmp := Split(LineText, '=')[1];
oCustomTaskValue.oCustomTask1_DestinationObjectName := StringReplace(Trim(tmp),'"', '',[rfReplaceAll]);
End;
CheckText := True;
End;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -