Enseguida les comparto el código en ¢# (c sharp) para hacer una conexión a una base de datos Oracle 12c desde una aplicación .Net sin usar archivo tsnames.ora externo que defina la conexión.
Antes de ejecutar el código sobra decir que debes contar con los controladores .Net (drives) de conexión a Oracle 12c instalados en la máquina de desarrollo y el proyecto debe hacer referencia a la clase Oracle.ManagedDataAccess.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Oracle.ManagedDataAccess.Client; using Oracle.ManagedDataAccess.Types; namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // Crea cadena de conexion String cadenaConexionOracle = "Data Source=" + "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" + "(HOST=localhost)(PORT=1521))" + "(CONNECT_DATA=(SERVICE_NAME=orcl)));" + "User Id = c##usuariotest; Password = lcdusuariotest;"; // Crea conexion OracleConnection conexionOracle = new OracleConnection(cadenaConexionOracle); // Conecta conexionOracle.Open(); // Confirma si la conexion fue abierta if (conexionOracle.State == ConnectionState.Open) { // Se ejecutan las sentencias necesarias... // ... // Si la conexion esta abierta, la cierra conexionOracle.Close(); } } } }
No olvides cambiar los valores de HOST (nombre o ip de la computadora donde está instalada la base de datos), PORT (puerto de conexión), SERVICE_NAME (nombre de la instancia de la base de datos Oracle), User Id (usuario) y Password (contraseña), por los valores correctos de tu base de datos.
¡Hasta la próxima!