This error had me “scratching my head” at work this week. I was trying to run a scheduled task which performing some bench marking testing of my parallel load using SqlBulkCopy implementation. I thought I had everything set up correctly, but was getting this error. The “job” was just crashing leaving not a trace, apart from the error code in the Task Scheduler.
I had a network drive mapping as the path to the executable which was to be run (H:\…). This appears to be a big “No No” with scheduled tasks. I also tried using a UNC name to the executable but that did not work either.
Although, this error code is not in the file, WinError.h. The WinError.h file is a very good source of explanations (quick hints) for some errors. Blow is an example of one of the entries in the file. Being able to get just a hint as what the error code is can often be enough to star the process of solving it.
// // MessageId: SPAPI_E_NO_DEVICE_ICON // // MessageText: // // There is no icon that represents this device or device type. // #define SPAPI_E_NO_DEVICE_ICON _HRESULT_TYPEDEF_(0x800F0229L)
The WinError.h file is located at C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include . The file is a C/C++ header file which gets installed when you have C/C++ installed with Visual Studio. or the Windows SDK. The file Windows SDK is available as a separate download and install from MSDN Windows SDK (there are links to downloaded and install the SDK on this page).
This site had a very short explanation for the error code. Something similar content of the WinError.h file. This was enough to get on the right track to solving this problem. DB Security – Win 32 Error Codes.
Copy the contents of .Net build target output from the network onto the C: drive. This scheduled task then worked perfectly.
Simple when you know what the problem is, a real mystery when you don’t.
I wish, that the dialog which is setting up the action of the scheduled task, gave some warning about this potential problem.