Generic Categories of ODBC Errors

Last reviewed: March 27, 1996
Article ID: Q148641
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, versions 3.0 and 3.0b

SUMMARY

This article provides a generic description for each of three categories of ODBC errors including typical causes and the type of error trapping that can be used to trap for that type of error.

MORE INFORMATION

There are three types of error cases in connectivity issues with ODBC:

  • FoxPro Errors
  • ODBC Errors
  • Connectivity Warnings

FoxPro Errors

These are typical Xbase errors that are not produced by ODBC. These errors include fundamental errors such as invalid parameters, insufficient memory, and so on. To trap these errors, you can use the traditional FoxPro error handling paradigm, including ON ERROR.

ODBC Errors

These are errors returned from the ODBC Application Programming Interface (API). Any error returned from the ODBC API is recognized by Visual FoxPro as an error outside of the scope of the internal Visual FoxPro operation. An example of this is when an SQL function called within a Visual FoxPro application returns a -1 indicating that the function failed. In this case, the value returned by the SQL function indicates failure and the errors are saved and made accessible by using AERROR(). The exact process is described in the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q134721
   TITLE     : How to Handle Visual FoxPro Connectivity Errors
               w/o DBERROR()

In this case, you can't use an ON ERROR routine.

Connectivity Warnings

These errors indicate situations where the ODBC-related function is completed, but the user is warned that an exception occurred. For example, some ODBC driver parameters were not set, conversion errors occurred while fetching data, the user canceled the function, multiple updates were produced by a single view row due to a non-unique key, and so on.

Warnings bring up simple alert windows that you can disable by setting the DispWarning connection property to false (.F.). You can use the SQLSETPROP() function to set the DispWarning Property.

These warnings are saved and are accessible by using AERROR(). The exact process is described in the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q134721
   TITLE     : How to Handle Visual FoxPro Connectivity Errors
               w/o DBERROR()

However, if multiple warnings occur in the same connectivity command or function, only the last one is available to AERROR(). This is different from ODBC errors, which are batched in ODBC and buffered by the Visual FoxPro error mechanism as a single error event.

In this case, you can't use an ON ERROR routine.


Additional reference words: 3.00 VFoxWin
KBCategory: kbinterop
KBSubcategory: FxinteropOdbc


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 27, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.