Tabla DUAL en DB2: sysibm.sysdummy1

Si vienes del mundo Oracle, sabrás que existe una tabla “ficticia” llamada DUAL que sirve para operaciones auxiliares, pero en algún caso muy importantes. En DB2 esta tabla es se llama sysibm.sysdummy1.

La tabla sysibm.sysdummy1 igual que su homologa de Oracle, tiene un único registro, y permite realizar operaciones del estilo:

db2> select current date from sysibm.sysdummy1

22/12/2010

Como curiosidad notad que la columna de la tabla DUAL en Oracle se llama DUMMY (tonto), similar al nombre de la tabla en DB2.

 

Cómo conectar desde Visual Studio y SSIS con bases de datos Oracle

Administrador de conexiones SSIS OLEDB a OracleConectar flujos de datos de Integration Services con bases de datos Oracle es muy sencillo, siempre que tengas bien configurado el driver de Oracle que te va a permitir esta conexión.

Los drivers que vienen por defecto no suelen funcionar bien para conectar con Oracle, y lo más recomendable es instalar y utilizar los conectores que proporciona Oracle, el famoso cliente de Oracle, tanto para trabajar con SQL Server Integration Services, como para crear aplicaciones directamente con Visual Studio..

Base de datos Oracle 12c: las mejoras

Ya está disponible Oracle Database 12c, la primera base de datos diseñada para la nubeLa base de datos Oracle 12c destaca por la gran cantidad de mejoras que incorpora con respecto a cualquier otra versión. Como se puede deducir de su nombre, las nuevas características de esta versión se orientan especialmente hacia el Cloud Computing. Larry Ellison ya destacó en la sesión inaugural del OpenWorld 2012 que, de hecho, es la release de base de datos más importante que han lanzado en mucho tiempo. Para esta versión, se han realizado drásticos cambios de arquitectura que han dado como resultado más de 500 nuevas características!..

Como migrar de Oracle a SQL Server usando SQL Server Migration Assistant for Oracle

El proceso de migración de un sistema gestor de bases de datos Oracle a otro con Microsoft Sql Server puede llegar a ser un trabajo muy tedioso si lo hacemos a mano. Tiempo atrás quizás no había más remedio que empezar migrando la estructura para hacer luego cargas manuales por tablas etc. Una manera de hacer podría ser haciendo un script PL-SQL de la estructura en Oracle para modificarlo y pasarlo a T-SQL para SQL Server. Con el paso del tiempo han ido in-crescendo aplicaciones de pago y gratuitas que ya hacen gran parte de nuestro trabajo. MS SQL Server Migration Assistant es una de ellas totalmente gratuita, creada por Microsoft que nos permite hacer gran parte del trabajo.

Cómo evitar errores en SQL Server al concatenar campos con valores numéricos

cadena rota (concatenar en SQL)El operador para concatenar en SQL Server es '+', pero que este operador sirva también para sumar puede generar errores.

La solución es bastante simple, si lo que se quiere es concatenar, hay que convertir a cadena cualquier campo de tipo numérico que intervenga en la concatenación:
SELECT strNombre + ' tiene ' + cast(intEdad as varchar) + ' años'  FROM TablaEmpleados

Tips para realizar UPSERTs o updates con insert en SQL Server

Merge SQL

En muchas ocasiones, especialmente en procesos ETL o de carga de datos para un data warehouse, por ejemplo, interesa hacer en una sola sentencia o en un solo paso la comprobación de si un registro existe, y si existe actualizarlo, y si no insertarlo. A esta combinación se le ha apodado UPSERT, aunque en SQL existe una sentencia específica para hacerlo, que es MERGE.

Oracle Flashback Query

Gráfico ejecución flashback query de OracleRevisamos brevemente en este post la funcionalidad flashback query que aporta el gestor de BBDD de Oracle desde su versión 9i.

Básicamente se trata de un tipo de sql de Oracle que accede a datos que existían en la base de datos en un momento anterior, pero que en el momento en el que se ejecuta la sql pueden no existir o haber sufrido modificaciones. Para ello, Oracle utiliza los datos que quedan disponibles durante un tiempo en el segmento de UNDO. Este segmento almacena los datos anteriores a una serie de modificaciones. Se utiliza para asegurar la consistencia en la lectura de una consulta previa a la confirmación de las modificaciones (commit) y pueden ser utilizados en una posible recuperación (rollback).

SSRS: #Error en una celda de importe decimal de reporte utiliza Oracle SQL

Hasta el momento desconozco exactamente como o donde se detalla cada tipo de error en la ejecución de un informe de reporting services de Microsoft SQL Server. He tratado con derivados de falta de permisos, procesados incompletos de cubos pero hasta ahora ningun #Error en una celda por que sí.

El error en cuestión me aparece en la ejecución de un pequeño informe que tira de un origen de datos ODBC contra una base de datos Oracle donde se muestran totales (sumas, no porcentajes) y me ha sorprendido mucho la falta de detalle sobre el error que se produce. Para más dificultad, encima es en una combinación de parámetros concreta (las n ejecuciones anteriores han funcionado) y no en toda la columna sino en una celda. Además arrastra todo subtotal o total en el que se incluya...