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

Discussion in 'Python' started by Mauricio Martinez Garcia, Jan 4, 2011.

  1. 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 ....

    ==============================================================================================
    ==============================================================================================
     
    Mauricio Martinez Garcia, Jan 4, 2011
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Benson, John
    Replies:
    1
    Views:
    2,230
    Aurelio Martin
    Jan 28, 2004
  2. Pieter Claerhout
    Replies:
    0
    Views:
    607
    Pieter Claerhout
    Jan 28, 2004
  3. Damjan

    a cx_Oracle ORA-01036 problem

    Damjan, May 5, 2005, in forum: Python
    Replies:
    4
    Views:
    2,430
    Damjan
    May 12, 2005
  4. Ian Kelly
    Replies:
    0
    Views:
    775
    Ian Kelly
    Jan 4, 2011
  5. CJM
    Replies:
    4
    Views:
    465
Loading...

Share This Page