6.1 Common Problems

There are three common problems that can cause the Novell ODBC Driver for eDirectory to fail in producing the report you requested.

Insufficient Resources

Some reports generate so much data that the workstation runs out of memory or disk space. An eDirectory Data Source can contain thousands and millions of objects, depending on the eDirectory versions that are running in the tree. If you are getting "out of resource" types of errors, restrict your query to select fewer items:

For more information on how eDirectory attributes and objects can cause a report to become extremely large, see:

eDirectory Rights

You must have eDirectory rights to the data you request in your report. If you do not have at least Browse rights to the objects and Read rights to the attributes, your report contains NULL in all the columns. You can use the Effective Rights Table to generate a report that indicates your rights to the objects and attributes for which you are interested in generating a report.

SQL Statement Errors

You must use the correct table and column names in SQL statements.

For information on how attributes are split into multiple columns, see Section 3.3, Composite Attributes.

For information on how to discover the tables and columns available in your eDirectory tree, see Possible eDirectory Tables and Columns.

Jet Engine Limit of 255 Columns

Many Microsoft* tools use the Jet Engine for ODBC access.  Because Jet limits the number of columns to 255 you may not have access to all the columns you need.  The following are workarounds for this limitation:

Run-time Error 3061 Too Few Parameters, While Using Microsoft Jet Database Engine

You might get this error if the Jet is parsing the query incorrectly. To resolve this, use the dbOpenSnapshot and dbSQLPassThrough flags with the OpenRecordset() or any equivalent function. For more information, see the sample code for Browse under vb.

While using DAO over ODBCDirect, if the time required to retrieve the result set exceeds the default or user specified query timeout interval, you will get a "Query Cancelled" message from the ODBC Driver, followed by a "Execution Cancelled" message.

To avoid this timeout problem, set the QueryTimeout value to 0 as follows:

 Dim conODBCDirect As DAO.Connection
 conODBCDirect.QueryTimeout = 0