Publicado el Dejar un comentario

Como conectar a una base de datos Oracle 12c desde una aplicación .Net sin usar archivo tsnames.ora.

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!

Publicado el Dejar un comentario

Formatear campo fecha con sql en Oracle con la función to_char().

Varias formas de mostrar un campo fecha con la función to_char()  de sql en Oracle; asumimos en los ejemplos siguientes, que  el campo s.CREATED  es un campo de tipo date de una tabla cualquiera; abajo de cada uno se muestra la salida que obtendríamos para un mismo valor del campo aplicando la función to_char():

to_char(s.CREATED, 'YYYY-MM-DD HH24:MI:SS')
2008-10-20 17:04:22

to_char(s.CREATED, 'YYYY-MM-DD')
2008-10-20

to_char(s.CREATED, 'YYYY-MM-DD HH:MI:SS')
2008-10-20 05:04:22

to_char(s.CREATED, 'YYYY-MON-DD')
2008-OCT-20

to_char(s.CREATED, 'YYYY-MM-DD HH:MI:SS AM')
2008-10-20 05:04:22 PM

to_char(s.CREATED, 'YYYY/MM/DD HH24:MI:SS')
2008/10/20 17:04:22

¡Espero y les sea útil!

¡No olviden visitar a los anunciantes!¡Hasta la próxima!

Publicado el Dejar un comentario

Fallo con la variable PATH al comprobar requisitos al instalar Oracle 12c.

Si al instalar Oracle 12c en Windows 10 te muestra un estado fallido relacionado con la variable PATH al momento de comprobar requisitos del sistema y, según el mensaje de verificación dice que se debe a la longitud de la variable PATH, puede que no sea la longitud de dicha variable el problema.

Al mostrar detalles del mensaje decía esto: “PRVF-3919 : Failed to retrieve value of environment variable “PATH”” y sugiere que pueden ser errores de privilegios o permisos como muestra la siguiente imagen:

Si revisas tu variable PATH y encuentras que su valor no está demasiado grande (más de 1024 caracteres) entonces puedes sin problemas indicarle al instalador que ignore el error activando  el cuadro de selección “Ignorar Todo” y proceder con la instalación. Así lo hice y Oracle está funcionando correctamente. Al parecer es un bug del instalador con la versión de Windows 10.

Que éste artículo les sea útil. ¡Hasta la próxima!