1 0 Archive | Firebird RSS feed para esta categoría
post icon

La función NULLIF en la Base de Datos

Practicamente todos los motores de base datos modernos soportan esta funcion, incluso con la misma sintaxis. Desde Sql Server 2005, Oracle 9i, MySQL 5.0, Firebird 1.5, PostgreSQL 8.0 y probablemente varios otros.

La función recibe dos parámetros, en caso que sean iguales los valores retorna NULL y en caso de ser diferencia retorna el primer valor recibido como parámetro. También hay que tener en cuanta que el tipo de dato devuelto siempre es igual al tipo del primer parámetro.

La sintaxis es como sigue: (Continuar Leyendo sobre La función NULLIF en la Base de Datos)

post icon

Obtener un registro de la base de datos aleatoriamente mediante SQL

Si lo que necesitas es obtener una o un par de filas de tu base de datos de manera “randomica”  existen muchas soluciones que se pueden implementar, desde hacer un “select silvestre” y desde alguna aplicación que utilice algoritmos que permitan seleccionar un registro de manera aleatoria, hasta “cocinarlo” en desde la misma base de datos.

Dependiendo el contexto de trabajo es conveniente elegir una opción u otra. Pero ésta vez quiero centrarme más bien en hacer el trabajo desde la Base de Datos, con un Query SQL para los distintos (Continuar Leyendo sobre Obtener un registro de la base de datos aleatoriamente mediante SQL)

post icon

Obtener la fecha y hora del sistema desde los motores de base de datos más utilizados

He notado que mucha gente busca éste tipo de contenido constantemente, así que decido finiquitar a los motores de base de datos más comunes en un único post, dado que también si lo hago por separado sería muy corto.

Una cosa que me gustaría dejar bien en claro, que en la mayoría de los motores que expondré hay más de un modo de conseguir la fecha y la hora del sistema operativo huésped, pero sólo mostraré la más común.
Vamos a lo práctico y veamos: (Continuar Leyendo sobre Obtener la fecha y hora del sistema desde los motores de base de datos más utilizados)

post icon

Como programar en n-Capas con C# (Parte 3)

Esta es la tercer entrega, probablemente será la más corta pero no la última aún. El motivo de su longitud es por que es una clase que se utiliza como medio para crear la flexibilidad y portabilidad de fuentes de datos, en éste caso motores de base de datos.

También daremos por terminada la capa de Acceso a Datos, entonces así no mezclamos el código y será más fácil seguirlo posteriormente. También pertenecerá al namespace AccesoDatos. Lo llamo conexión por que es la clase con las otras capas interactuaran en modo directo.
Para ello creamos un objeto estático de la clase GDatos que instanciará de la clase SqlServer. Creo que ya van captando el rumbo de esto no? si crearamos otra clase por ejemplo Oracle.cs o MySQL.cs, solamente cambiariamos una linea de código, donde el objeto GDatos del tipo GDatos, sea SqlServer, Oracle u otro motor que codifiquemos. Podemos hacerlo con ODBC, OleDB para conexiones genéricas. No les parece grandioso que solo deban tocar parte de una línea de código para portar la App a cualquier otro motor de Base de Datos? 😀 (Continuar Leyendo sobre Como programar en n-Capas con C# (Parte 3))

post icon

Agregar opciones al menú de Windows / Compactar Restaurar Backup de Firebird

Hay muchas tareas que se convierten en rutinarias cuando trabajamos con un Sistema Operativo, cuando eso pasa siempre queremos automatizarlo lo más que podemos estas tareas “aburridas”, personalmente me sucede mucho en trabajo cuando tengo que crear el backup y restaurar las bases de datos de firebird que utilizamos, es por eso que me decidí crear unos menús para tales efectos. Se puede decir que con este post estaría matando dos pajaros de un tiro, como agregar los menús personalizados en Windows y como crear backups de firebird o restaurarlos..

Básicamente lo que hace es al dar click derecho sobre le fichero de la BD, invoca a la herramienta gbak del firebird y le pasa los parametros correspondientes para procesarlos, véamos como agregar éstos menús.

Primero debemos abrir el editor de registros de (Continuar Leyendo sobre Agregar opciones al menú de Windows / Compactar Restaurar Backup de Firebird)

post icon

Insert or Update [FIREBIRD]

Recién hemos visto como hacer ésta tarea en MySQL y fue bastante sencillo, en el caso de Firebird es aún mucho más sencilla y es la implementación que más me ha gustado 😀 Hay que tener en cuenta que Firebird soporta ésta sintaxis recién a partir de la versión 2.1.

Básicamente consiste en insertar 1 registro si no existe o actualizarlo en caso contrario sin necesidad de hacer manualmente la validación. Algunos factores a tener en cuenta son que no se puede la sentencia OLD en los triggers, además no es necesario que contenga todas la columnas de la tabla.

Además se tiene la posibilidad de hacer el “merge” basado en cualquiera de las columnas, no está limitado a las PK o Unique Index (estos pequeños detalles hizo que me guste su implementación además que (Continuar Leyendo sobre Insert or Update [FIREBIRD])

post icon

Leer datos de una base de datos con java

Hace tiempo vimos como ejecutar un procedimiento almacenado desde Java en una base de datos, en esta oportunidad veremos algo semejante, cargaremos datos de la base de datos a nuestra aplicación con JDBC mediando un ResultSet. Este ejemplo nos servirá para cargar nuestros formularios ya sea de escritorio, consola o web mismo si no usamos ningún framework que nos ayude.

Para este caso en sí la conexión a la BD la hacemos a Firebird, pero es funcional con cualquier otro motor siempre y cuando cambiemos la cadena de conexión y el driver JDBC. (Continuar Leyendo sobre Leer datos de una base de datos con java)

post icon

Replicacion de datos en Firebird

Un método relativamente barato de conseguir replicación de una base de datos Firebird es crear una shadow en un disco externo de red local. Nos protege contra desastres en el disco donde se aloja la base de datos principal, aunque, evidentemente, si borramos datos de la principal, automáticamente se borrarán también de la copia “shadow”, por lo que este es un sistema válido únicamente contra daños físicos, incendios, robos, etc.

Los requisitos necesarios son:

  • Equipo Servidor con Linux y Firebird
  • Disco externo de red local (Ethernet)

Aunque las pruebas realizadas han sido en un servidor con Suse Linux 9.3 y Firebird 1.5, sirve cualquier distribución Linux. La base de datos (basedatosprueba.fdb) está alojada en el directorio /home/datos/ del mismo servidor. El disco externo es de conexión por red (Ethernet). Ambos están conectados a un router, aunque sirven igualmente un switch o un hub. Para los ejemplos se usan (Continuar Leyendo sobre Replicacion de datos en Firebird)

post icon

Pérdida de Datos en Firebird (Experiencias…)

El texto es largo, pero es una experiencia que podría ayudar a evitar que se repitan situaciones similares nuevamente.

Como todos conocen, Firebird, uno de los motores de Base de Datos Libres de auge en los últimos años, es un motor de Base de Datos de amplia aceptación entre los desarrolladores de Delphi, y ciertas aplicaciones en Java u otros lenguajes de programación.

También es conocido que las facilidades de uso y administración que provee el Firebird a los DBA’s y usuarios, muchas veces nos lleva a situaciones donde hay corrupción de información, y pérdida de datos (estos podrían ser registros sencillos, estructuras, y tablas con datos completas). Algunas de las formas más comunes por las cuales uno podría perder datos, se encuentran en la Documentación del Firebird mismo, cuya versión Web es accesible desde este link (Inglés requerido).

Lo que hoy les comentaré, no es una  de las situaciones “normales” donde la información se (Continuar Leyendo sobre Pérdida de Datos en Firebird (Experiencias…))

post icon

Configurar Linked Server con SQL Server y Firebird

Un Servidor Vinculado sirve para que el motor de base de datos (en este caso SQL Server) pueda tener acceso a otra BD para hacer consultas distribuidas, ejecutar Stored Procedures, entre otros, digamos de un modo “transaparente” ya sea del mismo proveedor o no.

Para lograr esto necesitamos un proveedor de datos OLEDB y definir su cadena de conexión, a la par de asignarle un nombre lógico, el cual será usado para su invocación directa. Una vez definido esto podemos utilizarlo de manera abstracta para conectarnos a otras fuentes sin necesidad de volver a escribir toda la cadena de conexión. Crear esto con otro motor o instancia de SQL Server es relativamente sencillo, por lo tanto me centraré más bien en hacerlo con el motor de otro fabricante, en este caso Firebird, el cual fue el que más problemas me dió, con MySQL y PostgreSQL incluso fue más sencillo.

Oficialmente Microsoft da soporte para crear Linked Servers contra SQL Server y Oracle, (Continuar Leyendo sobre Configurar Linked Server con SQL Server y Firebird)

Página 1 de 212