We have a VB.Net application that currently accesses SAS.exe (PC-SAS) via references within the code and executes SAS via the .Net Process Class.
objProcess = New System.Diagnostics.Process()
objProcess.StartInfo.FileName = clsSAS.CalculatedSaSVersion
objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
objProcess.StartInfo.Arguments = clsSAS.CalculatedSasConfig
objProcess.StartInfo.Arguments += String.Format(" -icon -nosplash -sysin ""{0}\{1}"" -log ""{0}"" -print ""{0}"" -sysparm ""{2}""", _
myReportRoot, _
"V" & myReportList(i), _
mySysparm)
SyncLock runlock
IO.Directory.SetCurrentDirectory(myReportRoot)
objProcess.Start()
End SyncLock
Do While Not objProcess.HasExited
Threading.Thread.Sleep(200)
If killproc = True Then
objProcess.Kill()
Return JobResults
End If
SAS.exe is installed on the same server as the host that executes the code.
So far, so good.
The problem is that this code needs updating since we're moving to SAS Grid and it's my understanding that method for accessing SAS has changed to submitting jobs via SASGSUB (alas, I am not a SAS developer, but do modify code occasionally that interacts with SAS).
My searches for similar scenarios hasn't turned up much, although I did find an interesting white paper that I though may provide helpful information, in particular concerning the information regarding Windows Scripts and using .cmd files (ie: gsubrcm2.cmd).
Just thought that I'd post a message in a SAS Community Formum to see if anyone can provide any insight or help on implementing SAS Grid in a .Net application.
Thanks.
... View more