When attempting to connect to or exchange data with an Oracle data source with SCADA Connect, you may encounter a problem. This is a guide to address some of the related problems you may encounter:
"Can't convert from String to Double"
"Could not load file or assembly Bentley.EngineeringContent.Storage.Oracle.Support.dll"
"Could not load file or assembly Bentley.Geospatial.Support.dll"
"ORA-12514: TNS: Listener does not currently know of a service requested in connect descriptor"
"A supported Oracle client installation was not found on this system ..."
In order to make a connection to the Oracle database, it might be necessary to use the fully-qualified schema name in front of the view name.
Example: select distinct N_SERIE from DW_CIBE_PROD.V_VECTORA
The table that I was trying to access was V_VECTORA but with only the name of the table, nothing was mapped.
But, when I added the schema in front of the view name a connection was created.
1) First, make sure you have the Oracle 11g client installed, matching the "bitness" of the version of the product you're using. You can find this under Help > About. In the lower-left corner after the version number, you will see "32-bit" or "64-bit". If you see neither, you're using a 32-bit version. If you can confirm that the Oracle 11 client is installed, make sure you have the latest version and/or cumulative patch set applied. Contact technical support for assistance with finding the latest cumulative patch set.
Note: Oracle 19c support is available in version 10.03.04.XX and greater.
2) To ensure connectivity, try to connect to the database using SQLDeveloper or SQLPlus.
3) If you are using a Civil product, such as OpenRoads Designer, Oracle data source connections will be fully supported starting with version 10.10.XX.XX. In the meantime, please contact Technical Support.
4) If you are using service name, check and ensure that there are no problems with your tnsnames.ora file. On Windows 7, 8 or 10, the default location is C:\app\<User.Name>\product\11.2.0\client_1\network\admin
In here, you would see something similar to the below to define the service name:
TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = exampledb.bentley.com)(PORT = 1521))(CONNECT_DATA = (SID = orcl)))5) If the tsnames.ora file does not appear to be working, you can try entering the entire connection string in the "Service" field. For example:
(DESCRIPTION=(ADDRESS_LIST =(ADDRESS =(COMMUNITY = TCP)(PROTOCOL = TCP)(HOST = exampledb.bentley.com)(PORT = 1521)))(CONNECT_DATA = (SID = ORCL)))
This has been known to occur in some cases due to the operating system regional / language options. Specifically the decimal separator when using a region such as Italy. This will be addressed in a future version (reference defect # 382348)
To work with Oracle 19c data sources, you will need to use version 10.03.04.XX or greater.