elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Temas
Páginas: 1 2 3 4 5 6 [7] 8 9 10
61  Programación / .NET (C#, VB.NET, ASP) / capturar exception en .net en: 5 Octubre 2015, 05:06 am
hola a todos, solo quiero que me orienten de como capturar una excepcion que dispara oracle y que es una cadena, no las he podido controlar con el codigo de visual basic.net porque de la forma en que lo hago retornaria una cadena y la funcion donde tengo el try catch retorna un entero si la ejecucion es normal
Código
  1. public function ejecutasql() as integer
  2. try
  3. 'todo_bien en la consulta
  4. return 1
  5. Catch ex As OracleException
  6. Return "Error al generar Consulta" & ex.ToString
  7. End Try
  8.  
tambien he probado con esta otra pero igual no me controla la excepcion sino que de una vez me detiene la ejecucion
Código
  1. Catch ex As OracleException
  2.            Throw New ArgumentException("Error al generar consulta " & ex.Message.ToString)
  3.        End Try
  4.  
62  Programación / Bases de Datos / quitar privilegios en oracle en: 5 Octubre 2015, 04:26 am
hola, estoy trabajando con oracle desde una aplicacion en .net, desde la app creo un usuario y le doy privilegios, y desde la misma app le tengo que quitar esos privilegios, en la creacion y dar privilegios no hay problema pero al momento de quitarlos da este error
Código
  1. ORA-01031: insufficient privileges
  2.  
la linea de codigo que ejecuto en el procedimiento almacenado es este
Código
  1. EXECUTE immediate 'Revoke create session FROM '||nombre;
  2.  
el privilegio que estoy quitando es para que ya no se pueda conectar a la base de datos, lo unico es que al hacerlo desde la consola no hay problema, aunque lo hago con el mismo usuario que es propietario de algunas tablas y que tiene privilegios de DBA
63  Programación / Bases de Datos / mejorar la concatenacion de elementos segun opciones en: 30 Septiembre 2015, 01:39 am
hola a todos, estoy trabajando el prototipo de un procedimiento almacenado en Oracle, desde la aplicacion en .net me envian cuales opciones fueron marcadas(por lo menos marcaron una) y las tengo que concatenar porque es para dar privilegios a un nuevo usuario, encontre una solucion pero veo que es muy extensa, tal vez me ayudan con otra idea para hacerlo mas pequeño y mas optimo
Código
  1. SET serveroutput ON
  2. DECLARE
  3. priv1 NUMBER(2);
  4. priv2 NUMBER(2);
  5. priv3 NUMBER(2);
  6. priv4 NUMBER(2);
  7. privilegios varchar2(512);
  8. cadena varchar2(1000);
  9. BEGIN
  10.  
  11.  
  12. priv1:=1;--privilegio de insert
  13. priv2:=1;--privilegio de update
  14. priv3:=0;--privilegio de delete
  15. priv4:=1;--privilegio de select
  16. IF priv1 > 0 THEN
  17.  privilegios:='INSERT';
  18.  END IF;
  19.  
  20. IF priv2 > 0 AND privilegios IS NOT NULL THEN
  21.   privilegios:=privilegios||','||'UPDATE';
  22.   END IF;
  23.  
  24. IF priv2 > 0 AND privilegios IS NULL THEN
  25.   privilegios:='UPDATE';
  26.   END IF;
  27.  
  28. IF priv3 > 0 AND privilegios IS NOT NULL THEN
  29.  privilegios:=privilegios||','||'DELETE';
  30.  END IF;
  31.  
  32. IF priv3 > 0 AND privilegios IS NULL THEN
  33.  privilegios:='DELETE';
  34.  END IF;
  35.  
  36. IF priv4 > 0  AND privilegios IS NOT NULL THEN
  37.  privilegios:=privilegios||','||'SELECT';
  38. END IF;
  39.  
  40. IF priv4> 0 AND privilegios IS NULL THEN
  41.  privilegios:='SELECT';
  42.  END IF;
  43. cadena:='grant '||privilegios||' on '||' tab_estudiante '||' to '||' my_usuario';
  44. dbms_output.put_line(cadena);
  45. END;
  46.  
64  Programación / .NET (C#, VB.NET, ASP) / caracter invalido para realizar query en: 29 Septiembre 2015, 00:55 am
hola a todos, estoy tratando de llenar un datagrid  con una consulta directa con sql a oracle, pero el error indica que el query tiene caracteres invalidos, lo raro es que ya  ejecute otro query que tambien tiene caracteres parecidos y no dio error, habra alguna forma de evitar este error ya probe poniendo comillas y /o concatenando
Código
  1. SELECT name FROM v$sysstat WHERE VALUE > 0 ORDER BY name;
el error creo que es por el caracter $ que tiene, pero el query que ya me funciono es
Código
  1. SELECT * FROM v$sgastat;
estas consultas son para ver memoria y consultar el hitratio
65  Programación / .NET (C#, VB.NET, ASP) / Pagina que hereda clase en: 27 Septiembre 2015, 03:29 am
hola a todos estoy tratando de implementar user control, pero hice una clase llamada pagina base, donde cada vez que se cargue una pagina se verifiquen variables de session para cargar el user control, pero la pagina por defecto hereda de system.web.ui.page y no hay herencia multiple en visual basic, por lo que necesito que esta pagina herede la clase pagina_base, pero si quito lo que hereda por defecto la pagina no funciona, agradezco sus comentarios
Código
  1. Public Class inciso3
  2.    Inherits System.Web.UI.Page
  3.  
66  Programación / .NET (C#, VB.NET, ASP) / agregar linea en blanco a un dropdownlist en: 24 Septiembre 2015, 14:35 pm
hola a todos, estoy llenando un dropdownlist desde un procedimiento almacenado
con un dataset, solo que al cargarlo aparece el primer item, por lo que necesito
que al cargar aparezca un espacio vacio  y despues los items,
Código
  1. lsttabla.DataSource = tabla.empleados
  2.        lsttabla.DataValueField = "CODE"
  3.        lsttabla.DataTextField = "NAME"
  4.        lsttabla.DataBind()
  5.  
y aqui la parte del metodo que estoy llamando
Código
  1. Dim ds As DataSet
  2.        Try
  3.            con = New ConectDatos
  4.            Dim listaParam As List(Of OracleParameter) = New List(Of OracleParameter)
  5.            Dim param1 As OracleParameter = New OracleParameter("ResCursor", OracleDbType.RefCursor)
  6.            param1.Direction = ParameterDirection.Output
  7.            listaParam.Add(param1)
  8.            ds = New DataSet
  9.            ds = con.getdataset("USP_CARGA_EMPLEADO", listaParam)
  10.            Return ds
  11.  
67  Programación / .NET (C#, VB.NET, ASP) / llenar list(of oracleparameter) a partir de una clase en: 20 Septiembre 2015, 20:47 pm
hola, estoy construyendo un pequeño proyecto con visual basic.net  y oracle con store procedure, ya he visto algunos ejemplos para hacerlo en capas, lo unico que en los ejemplos esta lista se llena de manera estatica porque son procedimientos de select, pero necesito hacer un insert pero no se como recorrer la clase que la he recibido como objeto les dejo el procedimiento que si funciona pero es estatica con la lista y la que tengo que implementar
Código
  1. Public Function SelectEmple(ByVal spName, ByVal IntIdTienda As Integer) As DataSet
  2. Dim ds As DataSet
  3. Try
  4. con = New ConectDatos
  5. Dim listaParam As List(Of OracleParameter) = New List(Of OracleParameter)
  6. Dim param1 As OracleParameter = New OracleParameter("IntIdTienda", OracleDbType.Int32)
  7. param1.Value = IntIdTienda
  8. listaParam.Add(param1)
  9. Dim param2 As OracleParameter = New OracleParameter("ResCursor", OracleDbType.RefCursor)
  10. param2.Direction = ParameterDirection.Output
  11. listaParam.Add(param2)
  12. ds = New DataSet
  13. ds = con.getdataset(spName, listaParam)
  14. Return ds
  15. Catch ex As Exception
  16. Throw New ArgumentException("Error cursor USP_CARGA_EMPLEADOS" + ex.ToString)
  17. End Try
  18. End Function
  19.  
  20. '*****************************
  21.  
  22. '*****************************
  23. Public Function EjecutaSql(ByVal spName As String, ByVal entidad As Object) As Integer
  24. con = New ConectDatos
  25. Dim row As Integer
  26. Dim i As Integer
  27.  
  28. Dim listaParam As List(Of OracleParameter) = New List(Of OracleParameter)
  29. 'Dim param1 As OracleParameter
  30. 'i = 0
  31. '
  32. 'For Each p As Object In entidad
  33. 'param1 = New OracleParameter(entidad(i++), OracleDbType.Int32)
  34. '     listaParam.Add(param1)
  35. ' Next
  36. row = con.EjecutarQuery(spName, listParam)
  37. Return row
  38. End Function
  39.  
agradezco de antemano la orientacion
68  Programación / Bases de Datos / ver tablespace de cada usuario en: 18 Septiembre 2015, 03:04 am
hola a todos, necesito ver los tablespace asignados a cada usuario en oracle a traves de un procedimiento almacenado, pero al compilar el procedimiento dice que la tabla o vista no existe, lo raro es que si ejecuto solo el select en la consola si me los muestra porque tengo los permisos necesarios
Código
  1. CREATE OR REPLACE PROCEDURE usp_ver_tablespace(ResCursor IN OUT SYS_REFCURSOR)
  2. IS
  3. BEGIN
  4. OPEN ResCursor
  5. FOR SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS;
  6. END;

ya hice tambien el procedimiento para ver los todos los usuarios y este si me funciono
69  Programación / Bases de Datos / capturar el nombre de usuario que hace un insert en: 16 Septiembre 2015, 15:01 pm
hola a todos, estoy trabajando un proyecto en Oracle relacionado a transacciones, pero me piden que al realizar un insert, delete, update, guarde en una bitacora el nombre de usuario que lo realizo, tipo de operacion  y  la tabla que se realizo, pero no se si se hace con un select  a algunas de las tablas V$ de oracle o es al sistema en si, para capturar y meterlo en un cursor, agradezco su orientacion
70  Programación / Programación C/C++ / retomar bucle for con valores globales en: 2 Septiembre 2015, 16:56 pm
Hola a todos, estoy intentando simular el algoritmo dekker 1 (alternancia estricta), llamo al proceso 1, y su seccion_critica inicia el bucle for empieza corriendo bien pero al retomar el bucle for despues de la  primera interrupcion ya no lo realiza, el for deberia llegar a 7000 porque  aumento el acumulador de los procesos
Código
  1. struct PCB{
  2. int id; //id del proceso
  3. char nombre[16];//nombre
  4. int tareas_iniciales; //duracion de las tareas iniciales
  5. int duracion; //cuanto durara el proceso
  6. int quantum; //contador de interrupciones
  7. int acumulador;//valor antes de la interrupcion
  8. };
  9.  
  10. PCB p1;
  11. PCB p2;
  12.  
  13. void crear_procesos(){        /***********************************/
  14. p1.id=1;                      //  RELLENA DATOS A LAS
  15. strcpy(p1.nombre,"PWRDVD");   //  ESTRUCTURAS
  16. p1.duracion=7000;             //  DE TIPO PCB
  17. p1.quantum=0;                 //
  18. p1.acumulador=0;              //                 //
  19. p1.tareas_iniciales=2000;     //  P1 ES PARA PROCESO1
  20.                              //
  21. p2.id=2;                      //
  22. strcpy(p2.nombre,"DVDRIPPER");//  P2 ES PARA PROCESO2
  23. p2.duracion=7000;             //
  24. p2.quantum=0;                 //
  25. p2.acumulador=0;              //                  //
  26. p2.tareas_iniciales=2000;     /*****************************/
  27. }
  28.  
  29. int seccion_critica(int id){
  30. cout<<"\nSeccion Critica: Proceso "<<id;
  31.   if(id==1){
  32.   for(int i=p1.acumulador; i<=p1.duracion; i=i+1000){
  33.   p1.acumulador=i;
  34.      if(i==3000||i==6000||i==9000){
  35.  
  36.         return 1;    /*** ENTRO AL BUCLE DEL QUANTUM ***/
  37.         Sleep(2000);
  38.         break;
  39.   }  //if
  40.   }//for
  41.   }//if principal
  42.   else{
  43.       for(int i=p2.acumulador; i<=p2.duracion; i=i+1000){
  44.            p2.acumulador=i;
  45.   if(i==3000||i==6000||i==9000){
  46.  
  47.         return 1;        /*** ENTRO AL BUCLE DEL QUANTUM***/
  48.         Sleep(2000);
  49.         break;
  50.   }  //if
  51.   }//for
  52.   }//else
  53.   Sleep(2000);
  54. }
  55.  
  56.  
la interrupcion se da a los 3000 lo cual si funciona, se interrumpe pero como es alternancia estricta regresa hacia la seccion_critica porque no ha terminado, en teoria la siguiente seria en 6000, pero despues de la primera interrupcion se vuelve a llamar a la sección critica del proceso 1 pero el ciclo for ya no hace nada solo se inicia en 3000 pero ya no sigue contando, aunque p1.duracion sigue siendo 7000, agradecere sus aportes
Páginas: 1 2 3 4 5 6 [7] 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines