Applies To:
  • CitectSCADA
  • Microsoft ODBC Driver for Access, versions 3.5, 3.6, 4.0 
  • Microsoft OLE DB Provider for Jet, versions 3.51, 4.0
  • Microsoft Data Access Components versions 2.0, 2.1, 2.5, 2.6


When trying to connect to an Access .mdb file, an ODBC error is returned stating "Disk or Network Error". The Microsoft OLE DB Provider for the Microsoft Jet database engine may also return an "Unspecified error" (error code = 0x80004005) message.

The problem can occur when the data source is opened under the Microsoft Windows NT service but not under a logged-on user account. Jet creates a temporary file when the engine is started. In doing so, it first checks the TMP environment variable and uses that path to define where the temporary file is created. If it does not see a TMP environment variable, it looks for the TEMP environment variable. If TEMP is not defined, it then uses the Windows folder (\WINDOWS or \WINNT). If TMP/TEMP is defined but points to a nonexistent folder, the error occurs. Moreover, when opening the Access database through a Windows NT service, and when the service is running under the local system account, the TMP or TEMP system environment variable is used. When the Windows NT service is started using a user account, the TMP/TEMP user profile environment variables are used.


Define a TMP or TEMP environment variable and assign the variable to an existing folder. You must restart the computer after changing any environment variables. Environment variables are set under Windows NT 4.0 by going to the Control Panel and clicking System and then selecting the Environment tab. If you are running Windows 2000, you must click System in the Control Panel, go to the Advanced tab and click on the Environment Variables button.