Book a Demo

Author Topic: Project transfer much slower when invoked from scripting  (Read 3075 times)

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Project transfer much slower when invoked from scripting
« on: November 08, 2018, 02:21:28 am »
I'm using EA 14.1 on an Oracle backend on a Citrix environment.

When doing a manual project transfer the whole thing take about 10 to 15 minutes to complete.
In the log file I can see that the first part, clearing the data in the target model, takes less then 3 seconds.

When doing the same thing from a script, the project transfer is an order of magnitude slower.

Clearing the data in the target model when doing it via a script takes minutes instead of 3 seconds.

I didn't even wait for the complete transfer to finish!

Does anyone know why this might be happening?

The script I'm using is the following:
Code: [Select]
'[path=\Projects\Project DL\DL Scripts]
'[group=De Lijn Scripts]
option explicit
 
'
' Script Name: Automated backup of EA project databases
' Author: Davy Glerum, Geert Bellekens, Tom Geerts, Alain Van Goethem
' Purpose: Automated Project Transfer from DBMS to EAP file as weekly backup. See end of script for different databases that are backed up.
' Date: 07/11/2018

'
sub DeLijnDEV

Dim CurrentDate
Currentdate = (Year(Date) & (Right(String(2,"0") & Month(Date), 2)) & (Right(String(2,"0") & Day(Date), 2)))  'yyyymmdd'

'dim repository
dim projectInterface
'set repository = CreateObject("EA.Repository")

Dim FileName
Filename = "EA_Export.eap"
 
dim LogFilePath
LogFilePath = "H:\backups\"&CurrentDate & " DeLijnDEV (back-up).log"

dim TargetFilePath
TargetFilePath = "H:\Backups\"&CurrentDate & " DeLijnDEV (back-up).eapx"

dim eapString
eapString = "DBType=3;Connect=Provider=OraOLEDB.Oracle.1;...;"

'get project interface
set projectInterface = Repository.GetProjectInterface()

projectInterface.ProjectTransfer eapString, TargetFilePath, LogFilePath

'repository.CloseFile
'repository.Exit

' Dim newFilename
' newFilename = "H:\Backups\"&CurrentDate & " DeLijnDEV (back-up).eap"
'
' Dim Fso
' Set Fso = WScript.CreateObject("Scripting.FileSystemObject")
' Fso.MoveFile TargetFilePath, newFileName
   
end sub



DeLijnDEV


MsgBox ("Back-up Finished.")

Anyone know a workaround to speed things up?

Geert