SUMMARY:
This technical note documents why "ERROR: External Table: count of bad input rows reached maxerrors limit ...SQL Statement: insert into xxx values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?).. Error Code= -2147212544." error occurs during bulk export in Strategy 9.4.x-10.x. A resolution has been provided.
SYMPTOM:
In Strategy 9.4.x-10.x, bulk export fails due to an ODBC error even though the report runs successfully through Strategy Developer 9.4.x-10.x. An error is presented in the DSSErrors.log file and a delivery failure notification is sent to the Administrator with an ODBC error similar to the following:
(QueryEngine encountered error: OdbcParameterizedQuery::ExecQuery failed. Error type: Odbc error. Odbc operation attempted: SQLExecute. Operation canceled ERROR: External Table : count of bad input rows reached maxerrors limit Connection String: DSN=xxxx;DATABASE=xxxx;SERVERNAME=xxxx;UID=xxxx;PORT=xxxx;READONLY=0;SQLBITONEZERO=0;LEGACYSQLTABLES=0; NUMERICASCHAR=0;SHOWSYSTEMTABLES=0;LOGINTIMEOUT=0;QUERYTIMEOUT=0;DATEFORMAT=1; SECURITYLEVEL=preferredUnSecured;CACERTFILE=;. SQL Statement: insert into xxxx values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?).. Error in Process method of Component: QueryEngineServer, Project xxxx, Job 110, Error Code= -2147212544.)
ACTION:
If the database being utilized for bulk export does not support parameterized queries, then parameterized queries should be disabled or the Database Administrator must be contacted to determine why the parameterized query inserts are failing. If the database has been confirmed to support parameterized queries, then parameterized queries should still be disabled, but only for testing purposes while attempting to determine the root cause of the issue. The error message received is not specific as it is only indicating that the parameterized query has failed to execute. It does not give additional information. By disabling parameterized queries, the user would be able to determine what specifically is failing. For instance, inserting data with an inappropriate data type.
Note: Parameterized queries can provide significant performance gains when inserting data into a database. If the database does not support parameterized queries and performance is a concern, moving to a database that provides full support for this functionality may be necessary.