I couldn't get the correct error code until I parsed through the oExec object. Thus, the need for the ReadAll function.