Foros del Web » Programación para mayores de 30 ;) » .NET »

PL/Sql desde .NET

Estas en el tema de PL/Sql desde .NET en el foro de .NET en Foros del Web. Hola de nuevo. Estoy haciendo una aplicación en C# que carga un paquete PL a un esquema de base de datos. De momento lo que ...
  #1 (permalink)  
Antiguo 02/03/2007, 03:06
 
Fecha de Ingreso: agosto-2004
Mensajes: 7
Antigüedad: 19 años, 8 meses
Puntos: 0
PL/Sql desde .NET

Hola de nuevo. Estoy haciendo una aplicación en C# que carga un paquete PL a un esquema de base de datos.

De momento lo que hago es leer todo el fichero "create or replace package tal y cual..." y ejecutarlo con un ExecuteNonQuery().

Pues bien, esto lo que hace es cargar el paquete pero NO COMPILARLO de forma que desde mi aplicación no puedo saber si se cargó correctamente.

He probado con ejecutar un alter package X compile package pero la base de datos no da permismos para esto ya que tiene bloqueado el dbms_lock para usuarios, y en la empresa no queremos desbloquearlo.

¿Hay alguna forma de conocer si la compilación es correcta?

un saludo!
  #2 (permalink)  
Antiguo 02/03/2007, 12:00
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Re: PL/Sql desde .NET

lo que puedes hacer es crear un stored procedure dentro de oracle que reciba toda la cadena SQL y se la pases como parámetro... podría quedar algo así tu SP con PL/SQL (si me falla algo sorry, pero no soy experto en oracle jeje)

Código:
CREATE OR REPLACE PROCEDURE executesqlFromCode AS
sSQL VARCHAR2(3000);
BEGIN
EXECUTE IMMEDIATE sSQL 
end;
ahora que puedes crear una transaccion dentro de tu SP para controlar que todo la cadena se haya ejecutado correctamente... y en caso de error regresasar un -1 para controlar ese valor a nivel aplicacion.

esa serías mas o menos la idea espero que me haya dado a entender.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.