Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2013, 16:01
eflames
 
Fecha de Ingreso: noviembre-2005
Ubicación: Caracas York City
Mensajes: 3
Antigüedad: 18 años, 6 meses
Puntos: 0
Llamar a secuencia Oracle desde PHP. (Dice que no existe)

Muy buenas tardes a todos,

Escribo por aqui ya que llevo horas buscando en internet, en ingles y español y nada que doy que alguna solucion posible a este problema.

Resulta que estoy trabajando una aplicacion de nomina desde PHP, cuya base de datos esta en Oracle (desconozco la version). Por ser de nomina el DBA me creo una vista con los datos que necesito mostrar (solo lectura) y una tabla para poder hacer unas validaciones en mi aplicacion (en esa si puedo escribir).

Explicado esto mi problema esta en que necesito la columna ID en AU y para ello el DBA me creó una secuencia (llamada SEC_CONSTANCIAS, por ejemplo)... Desde el manejador que uso (NAVICAT) realizo un Insert y lo hace perfecto, con la columna ID y su valor autoincremental enviando en VALUES sec_constancias.nextval. Todo perfecto hasta aqui, ya he realizado un monton de pruebas. El detalle esta que cuando intento hacerlo desde PHP, activo el debug y me dice que la secuencia no existe lo raro es que copio la misma sentencia que el debug me responde y la pego en navicat y ejecuta el INSERT sin error alguno.

Alguno le ha pasado algo parecido? O alguno ve el error que yo no. Copio y pego lo que estoy haciendo...


Para comezar estoy usando ADOBD para la conexion con ORACLE

Este es el query de prueba que si se ejecuta en NAVICAT

Código:
INSERT INTO PERSONAL.CONTROL_CONSTANCIAS (ID,CEDULA,CODE_CONS,FECHA_ULTIMA) VALUES (sec_constancias.nextval, 17855837, 'ABC123', '03/Jan/2013')
En la tabla PERSONAL hay 4 campos ID number, CEDULA number, CODE varchar y por ultima la fecha DATE.

mmm.. que me falta??

Ahhh... claro, lo que estoy ejecutando en el PHP.

Código:
$query_control = " INSERT INTO PERSONAL.CONTROL_CONSTANCIAS (ID,CEDULA,CODE_CONS,FECHA_ULTIMA) VALUES (sec_constancias.nextval, 17855837, 'ABC123', '03/Jan/2013') 	";
$db->Execute($query_control);
Finalmente.. me regresa esto el debug
ORA-02289: no existe la secuencia in bla/bla/bla/bla.php

No tengo permisos en la BD, por lo que editarla o parecido no podré, a menos que espere el dia que "el consultor" (DBA) venga de nuevo, y ese señor viene 1 dia a la semana

Muchisimas gracias a cualquier que pueda ayudarme... Saludos