RANTS de Oracle, un manejador de bases de datos

Pues resulta que aunque he usado anteriormente ORACLE, nunca me habia tocado una version tan configurada con las patas como la que me dieron.

Para algunas cosas es muy explicita en errores, y por otras no.

Esta orden Funciona perfecto en MYSQL, MSSQL,

Delete from BITACORA where SQLORDER like “% LICENCIA_PUERTOSMTP as DATO from LICENCIA %”

Como dato, SQLORDER estaba designado como VARCHAR.

El script que lo crea como VARCHAR, No marca errores.

Pero ORACLE Sin dar aviso en vez de crear SQLORDER como Varchar lo convierte a LONG… y long no es un numero sino una cadena de texto que no puede maneajrse con % que es un selector de SQL.

Ok.

Convierto en la base de datos el tipo de de LONG a CLOB, y despues hago un ajuste mafufo en una bandera de Fetch de OCI.

Ya jala.

Todo por no hacer explicitamente lo que se dice.

O sea, el ser creativos en cosas que Ya son funcionales en Otros Sistemas, implica un lñenguaje comun.

O tres horas perdidas porque ORACLE NO da un AVISO.

[color=#00FF00]Esa es una de las razones para que cuando se hace un cambio en un sistema de conocimiento, hayan AVISOS EVIDENTES

« (Previous Post)
(Next Post) »

4 Commentsto RANTS de Oracle, un manejador de bases de datos

  1. admin dice:

    Una de las limitaciones de donde estpy trabajando ne este momento, es la obligación de usar la mas nueva, y no las mas estables.

    Ok.

    ORACLE 10 y con version XE para desarrollo.

    Ya noto una limitación sobre resize de una columna. En pocas palabras, Hay una serie de columnas que por alguna razon estan definidas como number( 3,0), y necesito que sean Number (1,0) , pero como YA tienen datos. No es posible.

    Ok.

    Script .

    Aunque todo en su sano juicio ( db2, mysql, MSSQL y cualquier SQL 92 estandard) te deja sin problemas.

    El script fue mas o menos este. Si no es valida la sintaxis, es porque lo hago de memoria. Noten que son DOS losmarcados en verde.

    alter table MVC_TABLAS add PASO NUMBER(1,0)
    Update MVC_TABLAS set PASO=ADMITE_EDITAR
    [color=#00FF00]ALTER TABLE MVC_TABLAS DROP COLUMN ADMITE_EDITAR
    alter table MVC_TABLAS add ADMITE_EDITAR NUMBER(1,0) default 0 NOT NULL
    Update MVC_TABLAS set ADMITE_EDITAR=PASO
    [color=#00FF00]ALTER TABLE MVC_TABLAS DROP COLUMN PASO

    El sql mas elemental dice que estoy dando de baja una Columna.

    Que mensaje me dice ORACLE en español despues de las ordenes VERDES?

    [code]

  2. admin dice:

    Tuvimos un problema medio raro hace poco con un LEFT JOIN.

    No me creian que era un error de la 10.2 de Oracle.

    Encontré este link:

    [url=http://database.in2p3.fr/10203_buglist.htm#CCHHIFF]http://database.in2p3.fr/10203_buglist.htm#CCHHIFF[/url]

  3. admin dice:

    No soy yo.

    Winsid reporta:
    [code]TNSLSNR for Solaris: Version 10.2.0.1.0 – Production
    TNS for Solaris: Version 10.2.0.1.0 – Production
    Unix Domain Socket IPC NT Protocol Adaptor for Solaris: Version 10.2.0.1.0 – Production
    Oracle Bequeath NT Protocol Adapter for Solaris: Version 10.2.0.1.0 – Production
    TCP/IP NT Protocol Adapter for Solaris: Version 10.2.0.1.0 – Production[/code]

    Lo que significa que faltan mas de 100 pantallas de parches, porque el link anterior es de la 10.2.0.3 y es de OCTUBRE 2006

    Ay Dios.

  4. admin dice:

    Notè algo raro en la versión de produccion (11 algo) en el paginado de ORACLE.

    En pocas palabras, alguien dio una instruccion reconstruyendo ROWID. Asi que las ordenes de paginado o pagination, que de por si son confusas, no funcionaban excepto una que necesita hacer algo que ocupa mucha memoria y tuve que hacer una yo

    Asi que en vez de Select CAMPO1, CAMPO2 from TABLA Limit 10,20 de MYSQL , este es el equivalente que si jaló:

    select CAMPO1,CAMPO2[color=#00FF00],ROW_ORDER from (select row_number() over (order by TU_CAMPO_ORDER) row_order, CAMPO1,CAMPO2 from Tabla) where row_order between 11 and 20

    El texto en verde no se necesita en el final pero si para depurar.