Hi all,
I'm building a project which needs to upload a pre-existent SAS db (table) from a Windows network share into SAS folders as a preparation step to then import it into a SAS table (I'm following such way 'cause, on Windows net-shares I've no control over files: filexist() reports they exist even when there are no files, can't rename, or delete, etc. etc.).
The whole project is already made and, if I was able to reliably upload (copyfile from PC to SAS) the table every time, I could even release v1.0, but it seems I'm having nearly the same problem reported here, with the difference that, thinking to timeout/time-dependent problems even by myself, I already used a process flow like it's suggested as a (not totally fixing) solution. Also, I'm trying to be more "insistent" by stacking 3 tretries, to the same upload (if all was succesful it wasn't a problem 'cause they overwrite)
Then running a CheckDBexist procedure which exports a &dbexist global macrovar.
At last, I conditioned the ImportDB_storico to the &dbexist's value: if 1 then go on importing the data (db_storico.sas7bdat) into a SAS table (WORK.DB_STORICO), else go back to CopyDBNet2SAS_2 and try again (in theory, if the error is persistent, that could make an infinite loop and the SAS project, if started by a scheduler, will have to be force-terminated after some long timeout, e.g. after 4 hours).
What I'm seeing, when I run the whole project, is SAS executing the 1st stacked CopyDB..., not being succesful in uploading the file, and the next 2 CopyDB... steps doing the very same. If I open the 3 steps upload's log I can read this:
--------------------------------------------------------------------------------
Uploading files from machine "SCCTXSEP0713" to SAS session on "SASApp".
Using these settings: Source file specification: &netDBpath.db_storico.sas7bdat Destination path: &tempDBpath. Overwrite existing files: Yes Resolve macro references in file paths: Yes Convert line endings for text files: No
NOTE: Resolving macro expressions in file paths. SAS log:
--------------------------------------------------------------------------------
with nothing more after "SAS log:", exactly like in the reference post I linked (which is from 2015).
On our system I'm working via Citrix, so my PC is just a client interface to SAS and runs nothing, my input and output files stay on our intranet network share (Windows) and on SAS servers I can store projects only (*.egp files), can't keep the working data. I've no persistent access to SAS server storage nor to the system logs, to read further details.
The weird thing is, if I execute the upload manually (run the CopyDB... task) it succeed and I've the file into SAS folders
That's the log in such case:
--------------------------------------------------------------------------------
Uploading files from machine "SCCTXSEP0713" to SAS session on "SASApp".
Using these settings: Source file specification: &netDBpath.db_storico.sas7bdat Destination path: &tempDBpath. Overwrite existing files: Yes Resolve macro references in file paths: Yes Convert line endings for text files: No
NOTE: Resolving macro expressions in file paths. SAS log: 1 The SAS System 12:47 Wednesday, May 10, 2023
Source files resolve to \\direzione.sede.corp.sanpaoloimi.com\s\0171249\Rdocs\Uff_Regole_e_Strumenti\Exelia\DATI\db\db_storico.sas7bdat Target folder resolves to /sas/BFD20/lab/appdata/Project/DCO_INV_AML_Regole_Strumenti/Exelia/TEMP_db/
NOTE: Source file resolved to \\direzione.sede.corp.sanpaoloimi.com\s\0171249\Rdocs\Uff_Regole_e_Strumenti\Exelia\DATI\db\db_storico.sas7bdat NOTE: Target folder resolved to /sas/BFD20/lab/appdata/Project/DCO_INV_AML_Regole_Strumenti/Exelia/TEMP_db/
Uploading \\direzione.sede.corp.sanpaoloimi.com\s\0171249\Rdocs\Uff_Regole_e_Strumenti\Exelia\DATI\db\db_storico.sas7bdat to /sas/BFD20/lab/appdata/Project/DCO_INV_AML_Regole_Strumenti/Exelia/TEMP_db/db_storico.sas7bdat ... ...Uploaded db_storico.sas7bdat, 393.216 bytes
NOTE: Copied 393.216 bytes in 0,34 seconds. NOTE: Total number of files processed: 1
--------------------------------------------------------------------------------
but, when I run the whole project, it fails (3 times in a row), NOT raising any error (so that I've been forced to add a CheDBexist task). Needless to say that, the following steps which needs the table in place will fail.
If the CopyFiles task was callable from a procedure, I would add a program loop to retry 'till success, but I can't see the running code (like I do with querybuilders, e.g., where I can copy the code into a program and tweak it to my needs): it's a wizard and it seems I can't "call it" from a procedure.
Thanks in advance for any solution/suggestion. If I forgot to add useful details just let me know and I'll update this post.
... View more