- 3,715,654 Users
- 2,242,820 Discussions
- 7,845,479 Comments
Forum Stats
Discussions
Categories
- 17 Data
- 362.2K Big Data Appliance
- 7 Data Science
- 1.6K Databases
- 467 General Database Discussions
- 3.7K Java and JavaScript in the Database
- 22 Multilingual Engine
- 487 MySQL Community Space
- 3 NoSQL Database
- 7.6K Oracle Database Express Edition (XE)
- 2.8K ORDS, SODA & JSON in the Database
- 416 SQLcl
- 42 SQL Developer Data Modeler
- 184.8K SQL & PL/SQL
- 21K SQL Developer
- 1.9K Development
- 3 Developer Projects
- 32 Programming Languages
- 135.1K Development Tools
- 8 DevOps
- 3K QA/Testing
- 247 Java
- 5 Java Learning Subscription
- 10 Database Connectivity
- 66 Java Community Process
- 1 Java 25
- 9 Java APIs
- 141.1K Java Development Tools
- 6 Java EE (Java Enterprise Edition)
- 153K Java Essentials
- 135 Java 8 Questions
- 86.2K Java Programming
- 270 Java Lambda MOOC
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 10 Java SE
- 13.8K Java Security
- 3 Java User Groups
- 22 JavaScript - Nashorn
- 18 Programs
- 125 LiveLabs
- 30 Workshops
- 9 Software
- 3 Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 3 Deutsche Oracle Community
- 10 Español
- 1.9K Japanese
- 2 Portuguese
Oracle.ManagedAccess.Client in .NET Core application running in Docker Linux Container
Hello
We are creating a Microservice based architecture with smaller Docker Containers hosting .NET Core 2.0 REST API. The Rest API internally uses Oracle.ManagedAccess.Client and connects to the Oracle Database hosted in Data center and retrieves the result. When the service is tested in Non-Docker mode, the application works and in the Docker Mode, it fails with ORA-12545. The stack trace of the errors are provided herewith:
ExtendedSocketException: No such device or address
System.Net.Dns.InternalGetHostByName(string hostName, bool includeIPv6)
NetworkException: ORA-12545: Network Transport: Unable to resolve connect hostname
OracleInternal.Network.OracleCommunication.DoConnect(string tnsDescriptor)
OracleException: ORA-12545: Network Transport: Unable to resolve connect hostname
The Docker Image is created from the base microsoft optimized image (microsoft/aspnetcore:2.0). What are we doing incorrect? Should we need to do additional configuration in the Docker image to enable the connection?
Best Answer
-
Hello,
From your error, dns lookup of the database hostname appears to be failing. I would start by putting the IP address in your connect alias definition or connection string to verify that. Also I would make sure that there is no mistake which connection alias is being used.
If you still have the problem after trying the above, let us know:
1) Version number of ODP.NET Core
2) How exactly you are providing the connection details to ODP.NET... using an alias? Are you using a TNSNAMES.ORA file (and where is the file)? Trying to use configuration APIs?
3) How are you launching docker (what command line arguments are you passing)
Finally, have a google at Docker DNS issues... I'm not really a docker expert:
Answers
-
Hello,
From your error, dns lookup of the database hostname appears to be failing. I would start by putting the IP address in your connect alias definition or connection string to verify that. Also I would make sure that there is no mistake which connection alias is being used.
If you still have the problem after trying the above, let us know:
1) Version number of ODP.NET Core
2) How exactly you are providing the connection details to ODP.NET... using an alias? Are you using a TNSNAMES.ORA file (and where is the file)? Trying to use configuration APIs?
3) How are you launching docker (what command line arguments are you passing)
Finally, have a google at Docker DNS issues... I'm not really a docker expert:
-
Thank you! The Connection string had DNS name, replacing with IP address worked.