Ora-01722

Ora-01722: Invalid Number When Running The Analytical Engine In Demantra [ID 1208653.1]

Applies to:

Oracle Demantra Demand Management - Version: 7.1.1.2 and later   [Release: 7 and later ]
Information in this document applies to any platform.

Purpose

After setting up a new machine for Analytical Engine, it fails with Ora-01722: Invalid Number.
We need to investigate what is the set up that made the engine to fails.


Last Review Date

November 17, 2011

Instructions for the Reader

A Troubleshooting Guide is provided to assist in debugging a specific issue. When possible, diagnostic tools are included in the document to assist in troubleshooting.

Troubleshooting Details

--- Symptoms ---

Engine log files shows:
12:30:28:010 ERROR Database Error [EngTreeIterator.cpp,1115]
12:30:28:010 ERROR - Source: Microsoft OLE DB Provider for Oracle
12:30:27:756 ERROR DB_Command::Execute threw an exception:
12:30:28:010 ERROR - Description: ORA-01722: invalid number
12:30:27:756 ERROR UPDATE mdp_matrix SET item_node = ?,loc_node = ?,level_id = 2, metrics_obs = ?, metrics_mape = ?, metrics_mre = ?, metrics_rmse = ?, metrics_pbias = ? WHERE t_ep_item_EP_ID = ? AND t_ep_inventory_EP_ID = ? AND item_node=0 AND loc_node=0 AND level_id > 0 AND do_fore = 1 AND prediction_status = 1
12:30:28:010 ERROR - Message: IDispatch error #3079
12:30:28:010 ERROR - Error Number: 0x80040e07 - Undefined Error.
12:30:27:756 ERROR - ErrorDescription: ORA-01722: invalid number

--- Changes ---

This issue happens after setting up a new machine for the Analytical Engine.
Running the engine from the old machine or from a different one is working fine, without errors.

--- Cause ---

Usually this kind of error is caused by decimal sign (comma instead of point).


--- Solution ---

Below are some steps followed to investigate ORA-01722: invalid number when running the analytical engine:

  • tried to execute the failing update from some SQL tool by replacing the '?' with the parameters values. Confirmed also that the specific combination exist in mdp_matrix (t_ep_item_EP_ID , t_ep_inventory_EP_ID)
  • tried to restart db
  • execute mdac_typ.exe
  • reregister the engine
  • confirm that you are having the exact client version as the database version
  • if your db is on Unix, please check also the solution from microsoft : http://support.microsoft.com/kb/216978/en-us
  • run select 99/100 from dual; on the specific machine to confirm decimal sign is point (.)
  • confirm the regional settings are set to English on the server machine, specially for the user that start the engine
  • check NLS settings (NLS_LANG and NLS_NUMERIC_CHARACTERS) on the server side: in registry, environment variables, oracle client

No comments:

ORA-00059: Maximum Number Of DB_FILES Exceeded in 19C database

When I am adding datafile to my 19C database facing the below error. SQL> alter tablespace DATA  add datafile '/u01/data/data15.dbf&#...