Ver Mensaje Individual
  #1  
Antiguo 24-05-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cool ¿Qué tan similares son los mensajes de error entre distintos servidores SQL?

¡Hola a todos!

Desde que trabajo con tres capas (en realidad todavía 2.5) trato de hacer las cosas de manera que el código esté lo menos "atado" posible a un solo tipo de base de datos, puesto que de un momento a otro el cliente puede solicitar cambiar de manejador de base de datos (entre otras razones).

Por ello es que vengo creando algunas plantillas y clases de objetos que me permiten "transparentar" el manejo de diversos aspectos de un servidor de base de datos.

En este momento tengo la inquietud de saber qué tan consistentes o similares son los mensajes de error que emiten servidores SQL como Firebird, Oracle, My SQL, SQL Server, DB2, Informix, PostgreSQL, etc.

Por ejemplo, estos son típicos mensajes de error en InterBase / Firebird:

Campo obligatorio; su nombre aparece en el mensaje, pero no el nombre de la tabla a la que pertenece:

SQL Server Error: validation error for column NOMBRE, value "*** null ***"

Valor duplicado en índice único; el nombre del índice aparece en el mensaje:

SQL Server Error: attempt to store duplicate value (visible to active transactions) in unique index "IXDEPARTAMENTOSNOMBRE"

Violación de llave foránea (cuando el ID que intentas asignar ya no existe o cuando no puedes eliminar un registro porque tiene referencias); aparece el nombre de la llave foránea en el mensaje, además de la tabla a la que pertenece esa llave:

SQL Server Error: violation of FOREIGN KEY constraint "FKDEPARTAMENTOSIDEMPLEADOSR" on table "DEPARTAMENTOS"

Les pido de la manera más amable que me proporcionen algunos ejemplos de esos mismos típicos mensajes de error, pero de otros manejadores de bases de datos. Voy a diseñar algunos métodos de mis clases en función de los patrones comunes que vea en dichos mensajes.

Muchas gracias.

Al González.
Responder Con Cita