3676 views

Resolving ODBC Driver schema, table, or column not found errors 

 

Problem
The ODBC Driver returns an error stating that the schema, table, or column was not found.

 

Symptoms
The ODBC Driver returns one of the following errors:
  • ERROR [HY000] [DataDirect][ODBC OpenAccess SDK driver][OpenAccess SDK SQL Engine]Exception retrieving tables schema: java.net.SocketTimeoutException: Read timed out[1020]
  • ERROR [42S02] [DataDirect][ODBC OpenAccess SDK driver][OpenAccess SDK SQL Engine]Base table:<a_table> not found.[10129]
  • ERROR [HY000] [SN][ODBC ServiceNow driver][OpenAccess SDK SQL Engine]Cannot create schema.Cannot retrieve a DB schema. Please run <instance>?SCHEMA in your browser and try again. Also make sure that the table descriptor cache can hold all your tables and DB views. You can check the table descriptor stats runing <instance>/xmlstats.do in your browser.[1050]
  • ERROR [HY000] [DataDirect][ODBC OpenAccess SDK driver][OpenAccess SDK SQL Engine]Could not find any column information for table:<a_table>.[10131]
  • Any other error that states the schema, table, or column was not found. 
Cause

The ODBC Driver cannot retrieve the database schema from the instance due to the table descriptor cache being insufficient. The table descriptor cache is an in-memory object that stores information about database schema including the names and field names of all tables.


Resolution

Check if the table descriptor cache is large enough to hold all tables and database views. As an administrator, follow these steps:

  1. In your browser, navigate to <instance>.service-now.com/xmlstats.do.
  2. Look for the entry syscache_tabledescriptor.
  3. Note the max_entries attribute.
  4. Navigate to System Definition > Tables and note the number of records.
  5. Navigate to System Definition > Database Views and note the number of records.
  6. If the value of the max_entries attribute is lower than the number of tables and database views, increase the value of the property glide.cache.size.syscache_table_descriptor to a value greater than the number of tables + the number of database views.

Article Information

Last Updated:2016-06-28 17:44:18
Published:2016-06-29