1 0 Archive | Bases de Datos RSS feed para esta categoría
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 varias instancias de MySQL en un mismo equipo

Para tener varias instancias independientes del motor de base de datos MySQL debemos hacer un par de configuraciones manuales, ¿Qué significa este concepto? Que podemos tener en la misma instalación, o mismo terminal, más de un motor, escuchando en distintos puertos (uno por cada instancia), teniendo la posibilidad de configurar de manera totalmente independiente y distinta cada una.

No debemos abusar del uso de las instancias, porque por cada una se corre un proceso que consume recursos y no se comparten entre ellos, sólo es recomendable si es estrictamente necesario, o si queremos ahorrar costos para no (Continuar Leyendo sobre Configurar varias instancias de MySQL en un mismo equipo)

post icon

Crear Reportes con Visual Basic .Net, PostgreSQL y Crystal Report

La mayoría de las veces que trabajamos con Visual Basic .Net y Crystal Report, solemos conectarnos a SQL Server u Oracle como fuente de datos, debido a que tienen integración con el IDE de Visual Studio, para facilitar la creación de los mismos.

Cuando hablamos de  motores como PostgreSQL, MySQL, Firebird, Teradata y otros, no tenemos la integración del IDE con el servidor de base de datos, esto hace que no podamos crear tan sencillamente los reportes como los hacemos como con los otros motores, pero no lo hace imposible, sólo se debe seguir unos pasos distintos, que también sirve para los 2 primeros motores mencionados anteriormente. (Continuar Leyendo sobre Crear Reportes con Visual Basic .Net, PostgreSQL y Crystal Report)

post icon

Cambiar el Password del usuario root en MySQL

En MySQL cuando hacemos una instalación nueva, ésta trae el usuario root del motor sin password, dejarlo así obviamente es impensable, así que si no disponemos de una interfaz gráfica o nos gusta más las consolas, lo haremos como expongo aquí. Personalmente creo que los sistemas de seguridad que implementa este motor de base de datos, no es precisamente el mejor que existe, como lo veremos más adelante, pero si ya estamos trabajando con este motor que nos ofrece ligereza lo podemos hacer así. (Continuar Leyendo sobre Cambiar el Password del usuario root en MySQL)

30 Diciembre 2009
post icon

Realizar Consultas Recursivas en SQL Server

Como todo buen diseñador de base de datos sabe, es bastante común encontrarse con entidades recursivas en el diseño de nuestra BD, 2 ejemplos típicos son el jefe y el subordinado, en el diseño ambas personas se encuentran registradas como tuplas dentro de la entidad Persona o Funcionario (según el diseño que hemos tomado, incluso estaría mejor diseñado si se lo hace en base al cargo), al no existir 2 entidades que tengan cardinalidad 1:M, por que así obtendríamos duplicación de datos, debemos determinar un modo que ambos estén en la misma entidad y a su vez tener la capacidad de controlar quién es jefe de quién, esto se lograría agregando una columna más que sea del mismo dominio que su propia PK, es decir, la columna nueva sería FK de la PK que le determina, logrando así una cardinalidad 1:M recursiva.

Otro ejemplo típico es el caso de los contratos, estos suelen tener la característica que vencen en una fecha determinada, por cuestiones de ventas/marketing al cliente se le facilita normalmente este proceso con una renovación de contrato (Continuar Leyendo sobre Realizar Consultas Recursivas en SQL Server)

post icon

Un ejemplo sencillo y entendible de LINQ con C#

Este tema de LINQ produjo su conmoción desde que apareció como herramienta de rápido desarrollo para mapeo ORM, es decir, crear una abstracción de las tablas de nuestra base de datos en clases para nuestra aplicación, una tabla – una clase.

Por ser un concepto relativamente nuevo, no quiere decir que sea complejo implementarlo, al contrario, es más sencillo y veloz el desarrollo de este modo. Personalmente me recuerda cierta tecnología de java. (sólo cierta semejanza ya que su implementación no es igual).

Primeramente para nuestro ejemplo necesitaremos una base de datos de ejemplo, (Continuar Leyendo sobre Un ejemplo sencillo y entendible de LINQ con C#)

19 Diciembre 2009
post icon

Cadena de Conexión para Oracle

Lo siguiente no es un tema complejo ni dificil de encontrar información en la red, el objetivo más bien es juntar todas la cadenas de conexión (conection Strings) que se pueda en un solo lugar, en este caso para el motor de base de datos Oracle. Estarán listado por tipo de driver a utilizarse.

ODP.Net (Oracle Data Provider .Net)

1
Espacio de Nombre: Oracle.DataAccess.Client.OracleConnection

Usando TNS

1
Data Source=TORCL;User Id=myUsername;Password=myPassword;

Usando Seguridad Integrada (Integrated Security)

1
Data Source=TORCL;Integrated Security=SSPI; <a href="http://devtroce.com/2009/12/13/cadena-de-conexion-para-oracle/#more-124" class="more-link">(Continuar Leyendo sobre Cadena de Conexión para Oracle)</a>
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)

post icon

Ganar velocidad de conexión en MySQL

Hace unas semanas atrás nos tocó una mala pasada con mis compañeros de trabajo, una de nuestras aplicaciones se conecta con JDBC a MySQL, en laboratorio y en casi todos los lugares donde estaba implementado, funcionaba velozmente, pero en la última implementación, teníamos retardos y timeouts, lo primero que hicimos fue subir el tiempo de espera del JDBC, y se conectaba pero tardaba demasiado, (siendo ya un tiempo muy incomodo para el usuario). Verificamos los cables de red, las NIC, y otras tantas cosas, que estando entre varios se nos agotaron las ideas.

Luego nuestro compañero El Gran Che, nos dió la luz. Todo el embrollo se debía a una configuración del motor de la BD. Este cuando recibía peticiones de conexión tenía activo la opción de resolver el DNS, al “no estar correctamente configurada” la configuración de red (Continuar Leyendo sobre Ganar velocidad de conexión en MySQL)

post icon

Diagrama de Venn implementado en SQL

Si queremos aplicar operaciones de conjuntos en el lenguaje SQL tenemos un par de formas de hacerlo, el modo más elegante de hacerlo es utilizar las sentencias diseñadas para este efecto. Los ejemplos que pondre se aplican a SQL Server y Firebird, esto también se puede hacer en Oracle, pero de un modo un tanto distinto, que lo veremos más adelante.

  • UNION Soportados por todas las versiones de SQL Server, y Firebird
  • EXCEPT Soportado por SQL Server 2005 en adelante, no soportado por Firebird 1.5 ni 2
  • INTERSECT Soportado por SQL Server 2005 en adelante, no soportado por Firebird 1.5 ni 2

Para poder utilizar estas sentencias solo debemos cumplir con dos condiciones:

  1. Todos los conjuntos de datos deben tener la misma cantidad de columnas, del mismo tipo de datos.
  2. Sólo se puede aplicar una sentencia ORDER BY, en el ultimo SELECT.

Los siguientes ejemplos trabajaremos con las entidades PROFESORES y ALUMNOS. (Continuar Leyendo sobre Diagrama de Venn implementado en SQL)

Página 15 de 15« Inicio101112131415