Error python + cx_Oracle :Oracle-Error-Message: ORA-01036: illegal variable name/number

Mauricio Martinez Garcia morfeokmg at gmail.com
Tue Jan 4 14:57:59 EST 2011


Hi, i need help with the next error:

"ERR_PYTHON:Oracle-Error-Message: ORA-01036: illegal variable 
name/number", i used the cx_Oracle module, and the error not is only 
Oracle Error.

The error its for that python don't translate the query, with the 
variables ":VARIABLE" when the VARIABLE is a number, this is th ecause 
of Oracle error.



The template is: updateQUERYBSCS var.

The code :
============================================================================================== 
 
class HilosPrepago(object):
    def 
__init__(self,numhilos,listadoSegmentos,archivoLOG,arregloSalida):        
        global NHilos
        global LSegmnts
        global ALog
        global listadoSalida
        global path_sal
        global queue
        global loggingRegister
        global updateQUERYBSCS
        
        queue = Queue()
        listadoSalida = arregloSalida
        ALog = archivoLOG
        LSegmnts = listadoSegmentos
        NHilos = numhilos
        loggingRegister = log_register(ALog)
        updateQUERYBSCS = """UPDATE CONCIL_ICC
                             SET CONTRATO_ICC = :CONTRATO_ICC,
                             CONTRATO_ATS = :CONTRATO_BSCS,
                             PLAN_ICC = :PLAN_ICC,
                             PLAN_ATS = :PLAN_BSCS,
                             IVA_ICC = :IVA_ICC,
                             IVA_ATS = :IVA_BSCS,
                             IVA_MAPEO = :IVA_MAPEO,
                             PROFILE_ICC = :PROFILE_ICC,
                             PROFILE_ATS = :PROFILE_BSCS,
                             LEG_SOG_ICC = :LEG_SOG_ICC,
                             LEG_SOG_ATS = :LEG_SOG_BSCS,
                             LIC_SOG_ICC = :LIC_SOG_ICC,
                             LIC_SOG_ATS = :LIC_SOG_BSCS,
                             LEGLIG_SOG_ICC = :LEGLIC_SOG_ICC,
                             LEGLIG_SOG_ATS = :LEGLIC_SOG_BSCS,
                             LICN_SOG_ICC = :LICN_SOG_ICC,
                             LICN_SOG_ATS = :LICN_SOG_BSCS,
                             LDN_SOG_ICC = :LDN_SOG_ICC,
                             LDN_SOG_ATS = :LDN_SOG_BSCS,
                             REFILL_SOG_ICC = :REFILL_SOG_ICC,
                             REFILL_SOG_ATS = :REFILL_SOG_BSCS,
                             REFILL_PROM_ICC = :REFILL_PROM_ICC,
                             REFILL_PROM_ATS = :REFILL_PROM_BSCS,
                             DIA_RECARGA_ICC = :DIA_RECARGA_ICC,
                             DIA_RECARGA_PROM_ICC = :DIA_RECARGA_PROM_ICC,
                             DIA_RECARGA_ATS = :DIA_RECARGA_BSCS,
                             CEL_IMSI_ICC = :CEL_IMSI_ICC,
                             CEL_IMSI_ATS = :CEL_IMSI_BSCS,
                             STATUS_ICC = :STATUS_ICC,
                             STATUS_ATS = :STATUS_BSCS,
                             ERROR_CONTRATO = to_number(:ERROR_CONTRATO),
                             ERROR_PLAN = to_number(:ERROR_PLAN),
                             ERROR_IVA_BSCS = to_number(:ERROR_IVA_BSCS),
                             ERROR_IVA_ICC = to_number(:ERROR_IVA_ICC),
                             ERROR_PROFILE = to_number(:ERROR_PROFILE),
                             ERROR_LEGSOG = to_number(:ERROR_LEGSOG),
                             ERROR_LICSOG = to_number(:ERROR_LICSOG),
                             ERROR_LEGLICSOG = to_number(:ERROR_LEGLICSOG),
                             ERROR_LICNSOG = to_number(:ERROR_LICNSOG),
                             ERROR_LDNSOG = to_number(:ERROR_LDNSOG),
                             ERROR_REFILLSOG = to_number(:ERROR_REFILLSOG),
                             ERROR_REFILLPROMOCION = 
to_number(:ERROR_REFILLPROMOCION),
                             ERROR_DIA_RECARGA = 
to_number(:ERROR_DIA_RECARGA),
                             ERROR_DIA_RECARGAPROM = 
to_number(:ERROR_DIA_RECARGAPROM),
                             ERROR_IMSI = to_number(:ERROR_IMSI),
                             ERROR_STATUS = to_number(:ERROR_STATUS),
                             ERROR_ENALTA = to_number(:ERROR_ENALTA),
                             ERROR_ENELIMINACION = 
to_number(:ERROR_ENELIMINACION),
                             PLANACTUALPROMO = :PLANACTUALPROMO,
                             LLEVAPROMOCION = :LLEVAPROMOCION,
                             DUPLICIDAD_DN = to_number(:DUPLICIDAD_DN),
                             VALIDADO_PRODUCCION = :VALIDADO_PRODUCCION,
                             CORREGIDO_EN_ALU = :CORREGIDO_EN_ALU,
                             MENSAJE_CORRECCION = :MENSAJE_CORRECCION
                             WHERE TELEFONO_ATS = :TELEFONO_BSCS 
"""                
        
        #threading.Thread.__init__(self)
        
    def ejecutaHilo(self,lista,listaRegistrosOUT,archLog,hilo):
        from OracleConnections import OracleConnections
        print "Iniciando la ejecucion para el hilo... %s" % hilo
        listaUnica = lista.get()        
        loggingRegister.registrarLog('Lista de datos...'+str(listaUnica))
        FullNameLOG = str(archLog)+'_'+str(hilo)+'_'
        validador = conciliador(FullNameLOG)
        i = 1
        j = 1
        k = 1
        ListadoDeregistros=[]
        conexiondeUpdateenReportes = OracleConnections(FullNameLOG)
        abreUpdateReportesIX = 
conexiondeUpdateenReportes.creaConexion('usuario','password','basededatos')       
 
        try:        
            for registro in listaUnica:
                pdb.set_trace()
                #registrosDelCampo = {}
                #registrosDelCampo = 
{'TELEFONO_ICC':'','TELEFONO_BSCS':'','CONTRATO_ICC':'','CONTRATO_BSCS':'','PLAN_ICC':'','PLAN_BSCS':'','IVA_ICC':'','IVA_BSCS':'','IVA_MAPEO':'','PROFILE_ICC':'','PROFILE_BSCS':'','LEG_SOG_ICC':'','LEG_SOG_BSCS':'','LIC_SOG_ICC':'','LIC_SOG_BSCS':'','LEGLIC_SOG_ICC':'','LEGLIC_SOG_BSCS':'','LICN_SOG_ICC':'','LICN_SOG_BSCS':'','LDN_SOG_ICC':'','LDN_SOG_BSCS':'','REFILL_SOG_ICC':'','REFILL_SOG_BSCS':'','REFILL_PROM_ICC':'','REFILL_PROM_BSCS':'','DIA_RECARGA_ICC':'','DIA_RECARGA_PROM_ICC':'','DIA_RECARGA_BSCS':'','CEL_IMSI_ICC':'','CEL_IMSI_BSCS':'','STATUS_ICC':'','STATUS_BSCS':'','ERROR_CONTRATO':0,'ERROR_PLAN':0,'ERROR_IVA_BSCS':0,'ERROR_IVA_ICC':0,'ERROR_PROFILE':0,'ERROR_LEGSOG':0,'ERROR_LICSOG':0,'ERROR_LEGLICSOG':0,'ERROR_LICNSOG':0,'ERROR_LDNSOG':0,'ERROR_REFILLSOG':0,'ERROR_REFILLPROMOCION':0,'ERROR_DIA_RECARGA':0,'ERROR_DIA_RECARGAPROM':0,'ERROR_IMSI':0,'ERROR_STATUS':0,'ERROR_ENALTA':0,'ERROR_ENELIMINACION':0,'PLANACTUALPROMO':0,'LLEVAPROMOCION':0,'DUPLICIDAD_DN':0,'VALIDADO_PRODUCCION':0,'CORREGIDO_EN_ALU':0,'MENSAJE_CORRECCION':0}
                ejecutor = validador.conciliacionGlobal(registro.telefono)
                registrosDelCampo = {
                'TELEFONO_ICC':str(ejecutor.ALU_DN),
                'TELEFONO_BSCS':str(ejecutor.BSCS_DN),
                'CONTRATO_ICC':str(ejecutor.ALU_CO_ID),
                'CONTRATO_BSCS':str(ejecutor.BSCS_CO_ID),
                'PLAN_ICC':str(ejecutor.ALU_ICCCODE),
                'PLAN_BSCS':str(ejecutor.BSCS_ICCCODE),
                'IVA_ICC':str(ejecutor.ALU_IVA),  #Para cambiar por solo 
el IVA
                'IVA_BSCS':str(ejecutor.BSCS_IVA),
                'IVA_MAPEO':str(ejecutor.BSCS_IVA_MAPEO),  #Para cambiar 
solo por el IVA
                'PROFILE_ICC':str(ejecutor.ALU_PROFILE),
                'PROFILE_BSCS':str(ejecutor.BSCS_PROFILE),
                'LEG_SOG_ICC':str(ejecutor.ALU_LEGSOG),
                'LEG_SOG_BSCS':str(ejecutor.BSCS_LEGSOG),
                'LIC_SOG_ICC':str(ejecutor.ALU_LICSOG),
                'LIC_SOG_BSCS':str(ejecutor.BSCS_LICSOG),
                'LEGLIC_SOG_ICC':str(ejecutor.ALU_LEGLICSOG),
                'LEGLIC_SOG_BSCS':str(ejecutor.BSCS_LEGLICSOG),
                'LICN_SOG_ICC':str(ejecutor.ALU_LICNSOG),
                'LICN_SOG_BSCS':str(ejecutor.BSCS_LICNSOG),
                'LDN_SOG_ICC':str(ejecutor.ALU_LDNSOG),
                'LDN_SOG_BSCS':str(ejecutor.BSCS_LDNSOG),
                'REFILL_SOG_ICC':str(ejecutor.ALU_REFILLSOG),
                'REFILL_SOG_BSCS':str(ejecutor.BSCS_REFILLSOG),
                'REFILL_PROM_ICC':str(ejecutor.ALU_REFILLPROMOCION),
                'REFILL_PROM_BSCS':str(ejecutor.BSCS_REFILLPROMOCION),
                'DIA_RECARGA_ICC':str(ejecutor.ALU_DIA_RECARGA),
                'DIA_RECARGA_PROM_ICC':str(ejecutor.ALU_DIA_RECARGAPROM),
                'DIA_RECARGA_BSCS':str(ejecutor.BSCS_DIA_RECARGA),
                'CEL_IMSI_ICC':str(ejecutor.ALU_IMSI),
                'CEL_IMSI_BSCS':str(ejecutor.BSCS_IMSI),
                'STATUS_ICC':str(ejecutor.ALU_CH_STATUS),
                'STATUS_BSCS':str(ejecutor.BSCS_CH_STATUS),
                'ERROR_CONTRATO':str(ejecutor.error_coid),
                'ERROR_PLAN':str(ejecutor.error_plan),
                'ERROR_IVA_BSCS':str(ejecutor.error_iva_bscs),
                'ERROR_IVA_ICC':str(ejecutor.error_iva_icc),
                'ERROR_PROFILE':str(ejecutor.error_profile),
                'ERROR_LEGSOG':str(ejecutor.error_legsog),
                'ERROR_LICSOG':str(ejecutor.error_licsog),
                'ERROR_LEGLICSOG':str(ejecutor.error_leglicsog),
                'ERROR_LICNSOG':str(ejecutor.error_licnsog),
                'ERROR_LDNSOG':str(ejecutor.error_ldnsog),
                'ERROR_REFILLSOG':str(ejecutor.error_refillsog),
                'ERROR_REFILLPROMOCION':str(ejecutor.error_refillpromocion),
                'ERROR_DIA_RECARGA':str(ejecutor.error_diarecarga),
                'ERROR_DIA_RECARGAPROM':str(ejecutor.error_diarecargaprom),
                'ERROR_IMSI':str(ejecutor.error_imsi),
                'ERROR_STATUS':str(ejecutor.error_status),
                'ERROR_ENALTA':str(ejecutor.error_enAlta),
                'ERROR_ENELIMINACION':str(ejecutor.error_enEliminacion),
                'PLANACTUALPROMO':ejecutor.PLANACTUALPROMO,
                'LLEVAPROMOCION':ejecutor.LLEVAPROMOCION,
                'DUPLICIDAD_DN':'1',
                'VALIDADO_PRODUCCION':'Si',
                'CORREGIDO_EN_ALU':'No',
                'MENSAJE_CORRECCION':''
                }
                ListadoDeregistros.append(registrosDelCampo)
                #print registrosDelCampo
                
                
#=========================================================================================================
                #Aqui se realizara una prevalidacion antes de mandar las 
correcciones
                
#=========================================================================================================
                
#=========================================================================================================
                #Terminan las correcciones
                
#=========================================================================================================
                
                #pdb.set_trace()
                registroxLinea 
=str(ejecutor.BSCS_TMCODE)+','+str(ejecutor.BSCS_DN)+','+str(ejecutor.ALU_DN)+','+str(ejecutor.BSCS_CO_ID)+','+str(ejecutor.ALU_CO_ID)+','+str(ejecutor.BSCS_DIA_RECARGA)+','+str(ejecutor.ALU_DIA_RECARGA)+','+str(ejecutor.BSCS_CH_STATUS)+','+str(ejecutor.ALU_CH_STATUS)+','+str(ejecutor.BSCS_IMSI)+','+str(ejecutor.ALU_IMSI)+','+str(ejecutor.BSCS_DESCPLAN)+','+str(ejecutor.BSCS_SNCODELEG)+','+str(ejecutor.BSCS_SNCODELIC)+','+str(ejecutor.BSCS_SNCODELEGLIC)+','+str(ejecutor.BSCS_SNCODELICN)+','+str(ejecutor.BSCS_SNCODELDN)+','+str(ejecutor.BSCS_SNCODEREFILL)+','+str(ejecutor.BSCS_ICCCODE)+','+str(ejecutor.ALU_ICCCODE)+','+str(ejecutor.BSCS_PROFILE)+','+str(ejecutor.ALU_PROFILE)+','+str(ejecutor.BSCS_LEGSOG)+','+str(ejecutor.ALU_LEGSOG)+','+str(ejecutor.BSCS_LICSOG)+','+str(ejecutor.ALU_LICSOG)+','+str(ejecutor.BSCS_LEGLICSOG)+','+str(ejecutor.ALU_LEGLICSOG)+','+str(ejecutor.BSCS_LICNSOG)+','+str(ejecutor.ALU_LICNSOG)+','+str(ejecutor.BSCS_LDNSOG)+','+str(ejecutor.ALU_LDNSOG)+','+str(ejecutor.BSCS_REFILLSOG)+','+str(ejecutor.ALU_REFILLSOG)+','+str(ejecutor.error_coid)+','+str(ejecutor.error_diarecarga)+','+str(ejecutor.error_status)+','+str(ejecutor.error_imsi)+','+str(ejecutor.error_plan)+','+str(ejecutor.error_profile)+','+str(ejecutor.error_legsog)+','+str(ejecutor.error_licsog)+','+str(ejecutor.error_leglicsog)+','+str(ejecutor.error_licnsog)+','+str(ejecutor.error_ldnsog)+','+str(ejecutor.error_refillsog)+','+str(ejecutor.error_sncodesBSCS)+','+str(ejecutor.escenarioCorreccion)+'\n'           
 
                loggingRegister.registrarLog('Linea de 
conciliacion...'+str(registroxLinea)+str(hilo))
                #listaRegistrosOUT.append(ejecutor)
                print 'Registro %s, Telefono: %s, el registro validado 
corresponde al Hilo: %s ' %(str(k),registro.telefono,str(hilo))            
                k = k+1
                i = i+1
                if (i == 1000):
                    loggingRegister.registrarLog('Abrimos conexion para 
ejecutar actualizacion en ReportesIX...'+str(hilo))
                    RS_UPDATE = 
conexiondeUpdateenReportes.ejecutaUpdate(updateQUERYBSCS, 
ListadoDeregistros, abreUpdateReportesIX)
                    
listadoSalida['Hilo_'+str(hilo)]=int(listadoSalida['Hilo_'+str(hilo)])+int(RS_UPDATE)
                    ListadoDeregistros=[]
                    i = 1


            loggingRegister.registrarLog('Abrimos conexion para ejecutar 
actualizacion en ReportesIX final...'+str(hilo))
            RS_UPDATE = 
conexiondeUpdateenReportes.ejecutaUpdate(updateQUERYBSCS, 
ListadoDeregistros, abreUpdateReportesIX)
            
listadoSalida['Hilo_'+str(hilo)]=int(listadoSalida['Hilo_'+str(hilo)])+int(RS_UPDATE)
            
conexiondeUpdateenReportes.cierraConexion(abreUpdateReportesIX)                                                       
 
            lista.task_done()
        except Exception, err:
            print "Error en la ejecucion: %s " % err
            lista.task_done()            


==============================================================================================



This is my debug output:

============================================================================================== 
 
============================================================================================== 
 
-bash-3.2$ ./conciliaAltas_Cambios.py
sliceDNUnique(telefono='522281926890')
sliceDNUnique(telefono='523141209462')
2
Se genero tupla con los registros del 0 al 0. --
Se genero tupla con los registros del 0 al 0. --
Se genero tupla con los registros del 0 al 0. --
Se genero tupla con los registros del 0 al 0. --
Se genero tupla con los registros del 0 al 0. --
Se genero tupla con los registros del 0 al 0. --
Total de hilos a ejecutar: 1
Datos por hilo: ----- 2 ----
================================================
Iniciando el proceso de ejecucion por hilos
================================================
Iniciando la ejecucion por hilos...
Iniciando la ejecucion para el hilo... 0
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/prepagoThreads.py(116)ejecutaHilo()
-> ejecutor = validador.conciliacionGlobal(registro.telefono)
(Pdb) c
====================================================================================
Registro 1, Telefono: 522281926890, el registro validado corresponde al 
Hilo: 0
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/prepagoThreads.py(116)ejecutaHilo()
-> ejecutor = validador.conciliacionGlobal(registro.telefono)
(Pdb) c
====================================================================================
Registro 2, Telefono: 523141209462, el registro validado corresponde al 
Hilo: 0
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(350)ejecutaUpdate()
-> cursor = conn.cursor()
(Pdb) n
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(353)ejecutaUpdate()
-> cursor.arraysize = 100000
(Pdb)
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(356)ejecutaUpdate()
-> try:
(Pdb)
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(357)ejecutaUpdate()
-> cursor.executemany(query,registros)
(Pdb)
DatabaseError: <cx_Orac...x9776ce0>
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(357)ejecutaUpdate()

-> cursor.executemany(query,registros)
(Pdb) n
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(361)ejecutaUpdate()
-> except cx_Oracle.DatabaseError, exc:
(Pdb)
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(362)ejecutaUpdate()
-> error, = exc.args
(Pdb)
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(363)ejecutaUpdate()
-> print >> sys.stderr, XP_ERROR+"Oracle-Error-Code:", error.code
(Pdb)
ERR_PYTHON:Oracle-Error-Code: 1036
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(364)ejecutaUpdate()
-> print >> sys.stderr, XP_ERROR+"Oracle-Error-Message:", error.message
(Pdb)
ERR_PYTHON:Oracle-Error-Message: ORA-01036: illegal variable name/number

>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(365)ejecutaUpdate()
-> print query
(Pdb) n
UPDATE CONCIL_ICC
                             SET CONTRATO_ICC = :CONTRATO_ICC,
                             CONTRATO_ATS = :CONTRATO_BSCS,
                             PLAN_ICC = :PLAN_ICC,
                             PLAN_ATS = :PLAN_BSCS,
                             IVA_ICC = :IVA_ICC,
                             IVA_ATS = :IVA_BSCS,
                             IVA_MAPEO = :IVA_MAPEO,
                             PROFILE_ICC = :PROFILE_ICC,
                             PROFILE_ATS = :PROFILE_BSCS,
                             LEG_SOG_ICC = :LEG_SOG_ICC,
                             LEG_SOG_ATS = :LEG_SOG_BSCS,
                             LIC_SOG_ICC = :LIC_SOG_ICC,
                             LIC_SOG_ATS = :LIC_SOG_BSCS,
                             LEGLIG_SOG_ICC = :LEGLIC_SOG_ICC,
                             LEGLIG_SOG_ATS = :LEGLIC_SOG_BSCS,
                             LICN_SOG_ICC = :LICN_SOG_ICC,
                             LICN_SOG_ATS = :LICN_SOG_BSCS,
                             LDN_SOG_ICC = :LDN_SOG_ICC,
                             LDN_SOG_ATS = :LDN_SOG_BSCS,
                             REFILL_SOG_ICC = :REFILL_SOG_ICC,
                             REFILL_SOG_ATS = :REFILL_SOG_BSCS,
                             REFILL_PROM_ICC = :REFILL_PROM_ICC,
                             REFILL_PROM_ATS = :REFILL_PROM_BSCS,
                             DIA_RECARGA_ICC = :DIA_RECARGA_ICC,
                             DIA_RECARGA_PROM_ICC = :DIA_RECARGA_PROM_ICC,
                             DIA_RECARGA_ATS = :DIA_RECARGA_BSCS,
                             CEL_IMSI_ICC = :CEL_IMSI_ICC,
                             CEL_IMSI_ATS = :CEL_IMSI_BSCS,
                             STATUS_ICC = :STATUS_ICC,
                             STATUS_ATS = :STATUS_BSCS,
                             ERROR_CONTRATO = to_number(:ERROR_CONTRATO),
                             ERROR_PLAN = to_number(:ERROR_PLAN),
                             ERROR_IVA_BSCS = to_number(:ERROR_IVA_BSCS),
                             ERROR_IVA_ICC = to_number(:ERROR_IVA_ICC),
                             ERROR_PROFILE = to_number(:ERROR_PROFILE),
                             ERROR_LEGSOG = to_number(:ERROR_LEGSOG),
                             ERROR_LICSOG = to_number(:ERROR_LICSOG),
                             ERROR_LEGLICSOG = to_number(:ERROR_LEGLICSOG),
                             ERROR_LICNSOG = to_number(:ERROR_LICNSOG),
                             ERROR_LDNSOG = to_number(:ERROR_LDNSOG),
                             ERROR_REFILLSOG = to_number(:ERROR_REFILLSOG),
                             ERROR_REFILLPROMOCION = 
to_number(:ERROR_REFILLPROMOCION),
                             ERROR_DIA_RECARGA = 
to_number(:ERROR_DIA_RECARGA),
                             ERROR_DIA_RECARGAPROM = 
to_number(:ERROR_DIA_RECARGAPROM),
                             ERROR_IMSI = to_number(:ERROR_IMSI),
                             ERROR_STATUS = to_number(:ERROR_STATUS),
                             ERROR_ENALTA = to_number(:ERROR_ENALTA),
                             ERROR_ENELIMINACION = 
to_number(:ERROR_ENELIMINACION),
                             PLANACTUALPROMO = :PLANACTUALPROMO,
                             LLEVAPROMOCION = :LLEVAPROMOCION,
                             DUPLICIDAD_DN = to_number(:DUPLICIDAD_DN),
                             VALIDADO_PRODUCCION = :VALIDADO_PRODUCCION,
                             CORREGIDO_EN_ALU = :CORREGIDO_EN_ALU,
                             MENSAJE_CORRECCION = :MENSAJE_CORRECCION
                             WHERE TELEFONO_ATS = :TELEFONO_BSCS
>  /data/NEW_ALUCLIENT_PRUEBAS/bin/OracleConnections.py(366)ejecutaUpdate()
-> sys.exit(1)
(Pdb) q
Error en la ejecucion:
Finalizando el proceso ....

==============================================================================================
==============================================================================================





More information about the Python-list mailing list