Hello,
I am writing to program to retrieve data from databases (MS SQL, MS Access, etc) using Proc SQL in Base SAS. Since I do not know if the SQL statement may take too long and ends up freezing SAS, I would like to time the excution, i.e have a piece of code directly within the program that tracks how long the query has been running and if it runs for too long (say more than a few minutes) then terminates the execution. Could you please give me some advice?
Thank you,
Vi
I don't think you can do this from within one SAS program (although I'd love to been shown otherwise!). I have some code that I created that outputs data (timestamp + descriptive text basically) to a text file (using FILENAME, FPUT, FAPPEND, etc) so I can monitor the process of an ongoing job, and you could probably combine something like that with a shell script that monitors that text file and kills the SAS job if it's not seeing progress.
I don't think you can do this from within one SAS program (although I'd love to been shown otherwise!). I have some code that I created that outputs data (timestamp + descriptive text basically) to a text file (using FILENAME, FPUT, FAPPEND, etc) so I can monitor the process of an ongoing job, and you could probably combine something like that with a shell script that monitors that text file and kills the SAS job if it's not seeing progress.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.