Você pode fazer isso em C# com este pedaço de código:
public int execString(string scriptFileName)
{
int exitCode;
ProcessStartInfo processInfo;
Process process;
int timeout = 5000;
processInfo = new ProcessStartInfo("sqlplus.exe", "@" + scriptFileName);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
process = process.Start(ProcessInfo);
process.WaitForExit(timeout);
exitCode = process.ExitCode;
process.Close();
return exitCode;
}
No VB.NET você pode fazer exatamente a mesma coisa, usando a mesma API no framework, mas eu não sei muito sobre a sintaxe do VB.NET.
Você também pode tentar inspecionar DLLs SQL/Plus e ver se consegue algo com elas. Mas acho que, embora deva ser uma abordagem mais rápida (em termos de desempenho), será muito mais complicado do que usar o que estou sugerindo.