B Data Access Driver Troubleshooting

When errors occur, the JDBC driver throws SQLExceptions. When this happens, check the log files for additional information. The log locations are specified in the jdelog.properties file. If the logs do not help to resolve the issue, enable the debug logs for more information.

It is especially helpful to inspect entire exception stack traces, because traces include exception messages, class names, and line numbers. Exception stack traces cause exceptions that result in SQLExceptions.

When you evaluate a series of exceptions in a trace, you should concentrate on the first exception, since it is often the cause of subsequent exceptions.

B.1 SQL Exceptions and Error Messages

Following are some exception examples, with recommendations on how to resolve them.

B.1.1 No Suitable Driver

Exception: java.sql.SQLException: No suitable driver.

Cause: The JD Edwards EnterpriseOne JDBC drivers use the native database JDBC drivers to access physical data. If the class path does not include the necessary drivers, the JDBC drivers throw this exception on any attempt to read physical data.

Recovery: For the Type 4 JDBC driver, contact your system administrator and ensure that all of the applicable JDBC drivers are included in the same class path as the Data Access Driver.

B.1.2 Data Source for F0010, TBLE Not Found

Exception: com.jdedwards.services.objectlookup.DataSourceNotFoundException: Data source for F0010, TBLE not found. (With a cause message in parenthesis)

Cause: This exception indicates that the JDBC driver cannot access its system tables in ERP mode. Table F0010 is the first system table that the JDBC driver attempts to access. Be sure to check the cause message that is attached to the exception message. The exception trace usually includes a direct cause as well.

Recovery: Check the cause exception and follow the recovery instructions listed for those exceptions. If none apply, contact your system administrator and verify that the [JDBj-BOOTSTRAP DATA SOURCE] section of the jdbj.ini file references a valid data source. The JDBj-BOOTSTRAP DATA SOURCE section describes the location of ERP system tables like F0010.

B.1.3 Receiving "[SECURITY_ERROR] A Security Error Occurred"

These errors occur when you create models in Oracle BI Publisher Enterprise using JD Edwards EnterpriseOne tables.

Data Access Driver (DAD) logs contain the following messages:

Sign on: valid = false
  Sign on: status = 17
  Sign on: error message ID = 348
com.jdedwards.database.base.JDBException: [SECURITY_ERROR] A
security error occurred.
com.jdedwards.database.base.JDBException: [SECURITY_ERROR] A 
security error occurred.
com.jdedwards.database.base.JDBException: [SECURITY_ERROR] A 
security error occurred.
Cause exception com.jdedwards.database.base.JDBException:
[SECURITY_ERROR] A security error occurred.
JDESpec error code = SPEC_REP_LOAD_FAILED com.peoplesoft.pt.e1.base.metadata.dataAccess.JDESpecException:
Spec repository implementation could not be loaded.
Spec repository implementation could not be loaded. com.peoplesoft.pt.e1.base.metadata.dataAccess.JDESpecException:
Spec repository implementation could not be loaded.
For package <PD114> in data source <Central Objects - PD812>,
failed to find the package manifest. Aborting the discovery
process, this package is not functional. com.jdedwards.database.services.packagelookup.PackageLookupServic
eException: Spec repository implementation could not be loaded.
com.jdedwards.base.spec.SpecException: [SECURITY_ERROR] A
security error occurred.
com.jdedwards.database.base.JDBException: [SECURITY_ERROR] A
security error occurred.
com.jdedwards.base.spec.SpecException: [SECURITY_ERROR] A
security error occurred. com.jdedwards.base.spec.SpecException:
SECURITY_ERROR] A security error occurred.
ROJDBC - getColumnsInfo  specMap.getSpec() is causing exception
for table=F4101 com.jdedwards.base.spec.SpecException:
[SECURITY_ERROR] A security error occurred.

Cause: This error occurs when the security token allocated for a Data Access Driver has expired. DAD starts its connection to EnterpriseOne when the BI Publisher Enterprise instance is started. At that time, it requests and obtains a security token from the Security Kernel running on the Enterprise Server. This token is used to grant DAD access to EnterpriseOne tables. The security token has a lifetime, and after it expires transactions between DAD and EnterpriseOne tables will fail.

Solution: See document 885414.1 on My Oracle Support.

B.1.4 Invalid SQL Queries Cause Database or Query Timeout Errors in BI Publisher Enterprise

Invalid SQL queries can cause the following errors.

Example 1

The Data Access Driver shows the following error messages:

08 Dec 2009 09:34:56,531 [SEVERE] - [JDBJ] SQLSTATE = 42000
SQLMessage = SQLMessage = ORA-01795: maximum number of expressions in a list 
is 1000
08 Dec 2009 09:34:56,531 [SEVERE] - [JDBJ] Query failed to 
execute within the specified timeout of 10000 ms. Timeout the 
Query
08 Dec 2009 09:34:56,532 [SEVERE] - [BASE]
com.jdedwards.database.base.JDBException: [QUERY_TIMED_OUT] Query
timed out. Operation is cancelled.
08 Dec 2009 09:34:56,532 [SEVERE] - [BASE]
com.jdedwards.database.base.JDBException: [QUERY_TIMED_OUT] Query
timed out. Operation is cancelled. 
com.jdedwards.database.base.JDBException:
 

Solution: Rewrite the SQL query used in BI Publisher Enterprise to avoid using more than 1000 parameters in a WHERE clause expression.

Example 2

The Data Access Driver shows the following error messages:

com.jdedwards.database.base.JDBException: [QUERY_TIMED_OUT]
Query timed out. Operation is cancelled.

Solution: Increase the connection timeout parameter in jdbj.ini.

[JDBj-CONNECTION POOL]
connectionTimeout=1800000
cleanPoolInterval=1800000

Example 3

The Data Access Driver shows the following error messages:

[SQL_EXCEPTION_OCCURRED] An SQL exception occurred:
Resultset timeout java.sql.SQLException

Solution: Increase the resultset timeout parameter in jdbj.ini.

[JDBj-RUNTIME PROPERTIES]
msSQLQueryTimeout=1800000
resultSetTimeout=1800000
transactionTimeout=1800000

B.1.5 Query Builder Does Not Load JD Edwards EnterpriseOne Tables

Error: Query Builder throws the error "Could not load schema information. Please make sure that this connection is active." This error occurs even though the JDBC data source test connection is successful. The error occurs with or without Proxy Authentication in the JDBC Data Source.

Cause: The e1root log represents that the log in credentials are incorrect in [JDBj-BOOTSTRAP SESSION] section of jdbj.ini, as shown below.

06 Dec 2011 17:47:58,000 [SEVERE] - [JDBJ] Sign on: valid = 
false
Sign on: status = 2
Sign on: error message ID = 331

Solution: To resolve this issue, ensure that you entered valid user, password, role and environment parameters in the [JDBj-BOOTSTRAP SESSION] section. There should not be any blanks.

For example:

[JDBj-BOOTSTRAP SESSION]
role=*ALL
user=JDE
password=xxxxxxxx
environment=JPD900

Additionally:

  • Use Server Manager to enter the password, so that it will be encrypted properly. If you enter the password directly in jdbj.ini, it will not be encrypted. An unencrypted password will cause issues in Query Builder.

  • The JDBC data source connection string should use the same environment as the one in the [JDBj-BOOTSTRAP SESSION] section. Otherwise the test connection will fail.

  • After making changes to the jdbj or jas.ini files, restart the BI server to make the changes effective.