Build Failure Using Oracle: ORA-12504: TNS:listener Was Not Given The SERVICE_NAME In CONNECT_DATA
If a build fails with the following error:
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
The issue is that the connection string to the Oracle DB is expecting a SERVICE_NAME parameter instead of an SID. The difference between them is that SID is the unique name of the instance while the SERVICE_NAME is the alias to the instance.
The workaround:
1) Choose Add Data (or ElastiCube > Change connectivity > Change source provider if you're just updating an ElastiCube that started failing).
2) In the Connect to Oracle Database window, uncheck the Use Direct Connection checkbox.
2) In the Database server location textbox, enter the following:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=$your_ip)(PORT=$your_port))(CONNECT_DATA=(SERVICE_NAME=$service_name)))
The variables you need to input are:
$your_ip
$your_port
$service_name

3) Connect to the server and rebuild.
If you need to find out the SERVICE_NAME, you can do so by connecting to the Oracle DB and running the following command:
select * from global_name;
For more information about the source of the issue visit the following:
Updated 03-02-2023
intapiuser
Admin
Joined December 15, 2022