Archive for the ‘Oracle’ Category

DTS_E_CANNOTACQUIRECONNECTION

Tuesday, January 28, 2014 11:21 No Comments

En alguna ocasión he necesitado usar los “Integration Services” para pasar tablas desde una base de datos de Oracle a otra de SQL Server y me he encontrado con el siguiente mensaje de error: [Origen de OLE DB 1 [73]] Error: Código de error SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. Error de la llamada del método AcquireConnection al administrador […]

This was posted under category: Oracle, Otros

Matar sesiones de Oracle que bloquean la compilación de un paquete

Thursday, November 1, 2012 21:15 1 Comment

SELECT ‘ALTER SYSTEM KILL SESSION ‘||””||sid||’,’||serial||”’;’ FROM ( SELECT sid, serial# AS SERIAL FROM v$session WHERE sid IN (SELECT SID FROM v$access WHERE object = ‘XX_PACKAGE_NAME_XX’) )

This was posted under category: Administrador Sistemas, Oracle

Query SQL que devuelve todos los días de un determinado mes

Saturday, March 31, 2012 17:25 3 Comments

SELECT TRUNC (SYSDATE, ‘MON’)+rownum-1 AS dias_del_mes FROM DUAL WHERE to_char(SYSDATE,’MON’)=to_char(TRUNC (SYSDATE, ‘MON’)+rownum-1,’MON’) CONNECT BY LEVEL <= 31 Lo que nos devolverá : dias_del_mes ———– 01-MAR-2012 02-MAR-2012 ……….. ……….. ……….. 30-MAR-2012 Si queremos reemplezar SYSDATE por otra fecha, la query quedaría de la siguiente manera: SELECT TO_DATE (’01-‘ || ‘&Month’ || ‘-‘ || ‘&year’, ‘DD-MON-YYYY’)+ LEVEL- […]

This was posted under category: Informática, Oracle

Arrancar ODI Studio en Linux

Friday, March 16, 2012 13:11 No Comments

Los desarrolladores y administradores utilizan Oracle Data Integrator (ODI) Studi para acceder a los Repositorios ODI (Master y Work Repository). Siempre que he utilizado ODI ha sido bajo una instalación en Windows. Hoy he realizado la instalación en una máquina Linux y no encontraba el ejecutable. Para lanzar el ODI Studio en Linux, simplemente tendremos […]

This was posted under category: Oracle

Formatear minutos en HH:MM:SS desde PL/SQL

Sunday, February 26, 2012 18:15 No Comments

Imaginemos que queremos mostrar el número de minutos que ha durado una llamada en el formato HH:MM:SS, para ello nada más sencillo que realizar la siguiente query: SELECT to_char(trunc(sysdate)+N/24/60/60,’HH24:MI:SS’) FROM dual; Donde N es el número de minutos que queremos formatear. El resultado de una llamada que durase 156 minutos sería el siguiente: >>SELECT to_char(trunc(sysdate)+156/24/60/60,’HH24:MI:SS’) […]

This was posted under category: Oracle

Buscar código en vistas de Oracle con PL/SQL

Thursday, February 23, 2012 13:56 No Comments

DECLARE   lncount NUMBER; lvsearch VARCHAR2(100) := lower(’cadena_buscar’); CURSOR cur_views IS SELECT * FROM all_views t where view_name like ‘XX%’; lrow_views cur_views%ROWTYPE; v_line VARCHAR2(30000); BEGIN   lncount := 0; OPEN cur_views;   LOOP   BEGIN   FETCH cur_views INTO lrow_views; EXIT WHEN cur_views%NOTFOUND; –Convert LONG to VARCHAR2 v_line := substr(lrow_views.text, 1, 30000); IF v_line LIKE […]

This was posted under category: Informática, Oracle

Obtener el mail de una cadena de texto en PL/SQL

Wednesday, February 22, 2012 14:10 No Comments

— Proposito : Devuelve un email dentro de una cadena de texto. ——————————————————————————- FUNCTION get_email_from_texto (v_texto IN VARCHAR2) RETURN VARCHAR2 IS v_email VARCHAR2(500); BEGIN SELECT REGEXP_SUBSTR(v_texto,'([a-zA-Z0-9_+*$%\^&!\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9:]{2,4})+’) INTO v_email FROM dual; RETURN v_email; EXCEPTION WHEN OTHERS THEN RETURN NULL; END;

This was posted under category: Oracle

Obtener la enésima fila de una tabla en Oracle

Tuesday, February 21, 2012 19:46 No Comments

A veces queremos poder recuperar la enésima fila de una consulta. Una posible opción sería la siguiente: SELECT rn, columna FROM ( SELECT rownum rn, columna FROM tabla ) WHERE rn=N; Esta no es la única, ni la mejor solución. Aquí hay un debate con otro tipo de soluciones a esta consulta que puede que […]

This was posted under category: Oracle, Programación

ORA-06508 PL/SQL: could not find program unit being called

Monday, January 2, 2012 14:42 1 Comment

Cuando buscas este error en internet, encontrarás la siguiente información: Causa: Se ha realizado una llamada a un procedimiento que no ha podido ser localizado. El programa puede haber sido borrado, modificado, o haberse compilado con errores. Acción: Chequea que todos los programas referenciados, incluyendo los cuerpos de los paquetes, existen y son válidos. A […]

This was posted under category: Oracle

Cómo ejecutar sentencias DDL dentro un trigger de Oracle

Sunday, January 1, 2012 18:41 4 Comments

Si necesitas realizar un COMMIT, un SAVEPOINT, una sentecia DDL  (create, alter, …) dentro de un trigger lo más seguro es que recibas algún mensaje de error. Nada tan sencillo como utilizar la sentencia PRAGMA AUTONOMOUS_TRANSACTION para que la ejecución funcione perfectamente. Un ejemplo de la sintaxis: CREATE OR REPLACE TRIGGER XX_TRIGGERNAME_BIR BEFORE INSERT ON […]

This was posted under category: Oracle