Re: Error en Python con Postgres en: import pgdb

From: Alejandro Sepúlveda Sotomayor <jalitrox(at)msn(dot)com>
To: systemguards(at)gmail(dot)com
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Error en Python con Postgres en: import pgdb
Date: 2007-06-03 05:06:47
Message-ID: BAY110-F90434CAEB34BA3923ACD3DA220@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Este es una interfaz para conectar a la BD... Muestro el codigo:

"""
nombre del modulo : conectarMd.py
descripcion : ventana, ingreso de datos de la conexiòn
entrada : None
salida : valorRetorno(string de conexiòn)

"""
########################################################################################
# librerias modulo conexiòn
########################################################################################
from Tkinter import *
from string import split, strip, join,upper#librerias de tratamiento
string
from Dialog import Dialog
import tkMessageBox#libreria para mensajes similar a msgbox
import pgdb#libreria de conexion a la base de datos, para crear BD
import pg#libreria de conexion a la base de datos, utilizada para funciones
con BD
########################################################################################

########################################################################################
########################################################################################
#funcion que crea la ventana de conexion,
#entrada
#salida
#descripcion
########################################################################################
def FuncGL_conectar(Vent_Principal):
global
Vent_ConectarBaseDatos,Entr_ServidorBaseDatosConexion,Entr_LoginBaseDatosConexion
global
Entr_PasswordBaseDatosConexion,Entr_NombreBaseDatosConexion,Entr_PuertoBaseDatosConexion
global valorRetorno
global vntConectar
global cancel

cancel = -1
vntConectar=Toplevel(Vent_Principal)
vntConectar.transient(Vent_Principal)
vntConectar.grab_set()
vntConectar.geometry("+350+250")
vntConectar.maxsize(width=310,height=165)
vntConectar.minsize(width=310,height=165)
vntConectar.iconname('pepito')

Fram_Linea=Frame(vntConectar,borderwidth=2)
Fram_Linea.pack(side=TOP,expand=YES,fill=X)

Canv_Linea=Canvas(Fram_Linea,width="5i",height="0",bg="#A8A5A6",bd=1)
Canv_Linea.pack(side=TOP)

Fram_ServidorBaseDatosConexion=Frame(vntConectar)
Fram_ServidorBaseDatosConexion.pack(side=TOP, expand=YES, fill=X)

Labl_ServidorBaseDatosConexion=Label(Fram_ServidorBaseDatosConexion,text='Servidor',width=13)
Labl_ServidorBaseDatosConexion.pack(side=LEFT)

Entr_ServidorBaseDatosConexion=Entry(Fram_ServidorBaseDatosConexion,width=28)
Entr_ServidorBaseDatosConexion.pack(side=LEFT)
Entr_ServidorBaseDatosConexion.focus_set()
Entr_ServidorBaseDatosConexion['font']=('helvetica','12','bold')

Entr_ServidorBaseDatosConexion.bind('<KeyPress>',FuncLC_ValidarEnterConectarBaseDatos)

Fram_NombreBaseDatosConexion = Frame(vntConectar)
Fram_NombreBaseDatosConexion.pack(side=TOP, expand=YES, fill=X)
Labl_NombreBaseDatosConexion =
Label(Fram_NombreBaseDatosConexion,text=' Base de Datos ',width=13)
Labl_NombreBaseDatosConexion.pack(side=LEFT)
Entr_NombreBaseDatosConexion =
Entry(Fram_NombreBaseDatosConexion,width=28)
Entr_NombreBaseDatosConexion.pack(side=LEFT)
Entr_NombreBaseDatosConexion['font']=('helvetica','12','bold')

Entr_NombreBaseDatosConexion.bind('<KeyPress>',FuncLC_ValidarEnterConectarBaseDatos)

Fram_PuertoBaseDatosConexion = Frame(vntConectar)
Fram_PuertoBaseDatosConexion.pack(side=TOP, expand=YES, fill=X)
Labl_PuertoBaseDatosConexion =
Label(Fram_PuertoBaseDatosConexion,text='Puerto',width=13)
Labl_PuertoBaseDatosConexion.pack(side=LEFT)
Entr_PuertoBaseDatosConexion = Entry(Fram_PuertoBaseDatosConexion,
width=10)
Entr_PuertoBaseDatosConexion.pack(side=LEFT)
Entr_PuertoBaseDatosConexion['font']=('helvetica','12','bold')

Entr_PuertoBaseDatosConexion.bind('<KeyPress>',FuncLC_ValidarEnterConectarBaseDatos)

Fram_LoginBaseDatosConexion=Frame(vntConectar)
Fram_LoginBaseDatosConexion.pack(side=TOP,expand=YES,fill=X)

Labl_LoginBaseDatosConexion=Label(Fram_LoginBaseDatosConexion,text='Login',width=13)
Labl_LoginBaseDatosConexion.pack(side=LEFT)

Entr_LoginBaseDatosConexion=Entry(Fram_LoginBaseDatosConexion,width=28)
Entr_LoginBaseDatosConexion.pack(side=LEFT)
Entr_LoginBaseDatosConexion['font']=('helvetica','12','bold')

Entr_LoginBaseDatosConexion.bind('<KeyPress>',FuncLC_ValidarEnterConectarBaseDatos)

Fram_PasswordBaseDatosConexion=Frame(vntConectar)
Fram_PasswordBaseDatosConexion.pack(side=TOP,expand=YES,fill=X)

Labl_PasswordBaseDatosConexion=Label(Fram_PasswordBaseDatosConexion,text='Password',width=13)
Labl_PasswordBaseDatosConexion.pack(side=LEFT)

Entr_PasswordBaseDatosConexion=Entry(Fram_PasswordBaseDatosConexion,width=28,show="*")
Entr_PasswordBaseDatosConexion.pack(side=LEFT)
Entr_PasswordBaseDatosConexion['font']=('helvetica','12','bold')

Entr_PasswordBaseDatosConexion.bind('<KeyPress>',FuncLC_ValidarEnterConectarBaseDatos)

Fram_Botones=Frame(vntConectar)
Fram_Botones.pack(side=TOP,expand=YES,fill=X)
Labl_Espacio=Label(Fram_Botones,width=18,text=' ')
Labl_Espacio.pack(side=LEFT)

def FuncLC_conectar(vntConectar=vntConectar):
global valorRetorno
valorRetorno=FuncLC_ConectarBaseDatosSQL()
if valorRetorno<>[]:
vntConectar.quit()

def FuncLC_cancel(vntConectr=vntConectar):
global valorRetorno
valorRetorno = cancel
vntConectar.quit()


Btn_ConectarBaseDatosConexion=Button(Fram_Botones,text="Conectar",width=8,command=FuncLC_conectar)
Btn_ConectarBaseDatosConexion.pack(side=LEFT,anchor=SE)

Btn_CancelarBaseDatosConexion=Button(Fram_Botones,text="Cancelar",width=8,command=FuncLC_cancel)
Btn_CancelarBaseDatosConexion.pack(side=LEFT,anchor=SE)

try:
Arch_DatosConexion=open("datos_conexion","r")
Str_ServidorConexion=str(Arch_DatosConexion.readline())

Str_ServidorConexion=Str_ServidorConexion[0:len(Str_ServidorConexion)-1]
Entr_ServidorBaseDatosConexion.insert(0,Str_ServidorConexion)
Str_NombreBaseDatosConexion=Arch_DatosConexion.readline()

Str_NombreBaseDatosConexion=Str_NombreBaseDatosConexion[0:len(Str_NombreBaseDatosConexion)-1]

Entr_NombreBaseDatosConexion.insert(0,Str_NombreBaseDatosConexion)
Str_PuertoConexion=Arch_DatosConexion.readline()

Str_PuertoConexion=Str_PuertoConexion[0:len(Str_PuertoConexion)-1]
Entr_PuertoBaseDatosConexion.insert(0,Str_PuertoConexion)
Str_UsuarioConexion=Arch_DatosConexion.readline()

Str_UsuarioConexion=Str_UsuarioConexion[0:len(Str_UsuarioConexion)-1]
Entr_LoginBaseDatosConexion.insert(0,Str_UsuarioConexion)
Arch_DatosConexion.close()
except:
Arch_DatosConexion=open("datos_conexion","a")
Arch_DatosConexion.close
if Entr_ServidorBaseDatosConexion.get()!='':
Entr_PasswordBaseDatosConexion.focus_set()

Btn_ConectarBaseDatosConexion.mainloop()
vntConectar.destroy()
return valorRetorno

#captura los valores ingresados en la ventana "conexion", para armar el
string de conexion
#entrada
#salida
#descripcion
def FuncLC_ValidarEnterConectarBaseDatos(evento):
global valorRetorno
if evento.keycode==36 or evento.keycode==108:
valorRetorno=FuncLC_ConectarBaseDatosSQL()
if valorRetorno<>[]:
vntConectar.quit()

def FuncLC_ConectarBaseDatosSQL():

global
cursor,conexion,base_datos,usuario,grupo,conexion,tablas,explorador,vista,Bool_Conectado
global
Str_LoFuncLC_ConectarBaseDatosSQLginBaseDatos,Str_PasswordBaseDatos,Str_NombreBaseDatos,Str_Host,Str_Puerto
global sqlfinal

global vntConectar
sqlfinal=[]
if strip(Entr_ServidorBaseDatosConexion.get())=='':
vntConectar.bell() #advertencia
tkMessageBox.showerror("Conectar Base de Datos", "Ingresar el
Servidor de la Base de Datos",parent=vntConectar)
Entr_ServidorBaseDatosConexion.focus_set()
return sqlfinal
elif strip(Entr_NombreBaseDatosConexion.get())=='':
vntConectar.bell() #advertencia
tkMessageBox.showerror("Conectar Base de Datos", "Ingresar el
Nombre de la Base de Datos",parent=vntConectar)
Entr_NombreBaseDatosConexion.focus_set()
return sqlfinal
elif strip(Entr_PuertoBaseDatosConexion.get())=='':
vntConectar.bell()
tkMessageBox.showerror("Conectar Base de Datos", "Ingresar el
Puerto de conexion a la Base de Datos",parent=vntConectar)
Entr_PuertoBaseDatosConexion.focus_set()
return sqlfinal
elif strip(Entr_LoginBaseDatosConexion.get())=='':
vntConectar.bell() #advertencia
tkMessageBox.showerror("Conectar Base de Datos","Ingresar el
Nombre del Usuario de la Base de Datos",parent=vntConectar)
Entr_LoginBaseDatosConexion.focus_set()
return sqlfinal
elif strip(Entr_PasswordBaseDatosConexion.get())=='':
vntConectar.bell() #advertencia
tkMessageBox.showerror("Conectar Base Datos","Ingresar la
Password de Usuario de la Base de Datos",parent=vntConectar)
Entr_PasswordBaseDatosConexion.focus_set()
return sqlfinal

Str_LoginBaseDatos=strip(Entr_LoginBaseDatosConexion.get())
Str_PasswordBaseDatos=strip(Entr_PasswordBaseDatosConexion.get())
Str_NombreBaseDatos=strip(Entr_NombreBaseDatosConexion.get())
Str_Host=strip(Entr_ServidorBaseDatosConexion.get())
Str_Puerto=strip(Entr_PuertoBaseDatosConexion.get())

sqlfinal.append(Str_Host+':'+Str_Puerto)
sqlfinal.append(Str_LoginBaseDatos)
sqlfinal.append(Str_PasswordBaseDatos)
sqlfinal.append(Str_NombreBaseDatos)

sqlfinal.append(Str_Host)
sqlfinal.append(Str_Puerto)

try:
conexion=pgdb.connect(host=sqlfinal[0]
,user=sqlfinal[1],password=sqlfinal[2] ,database=sqlfinal[3])
cursor=conexion.cursor()

Arch_DatosConexion=open("datos_conexion","w")
Arch_DatosConexion.write(Str_Host+"\n")
Arch_DatosConexion.write(Str_NombreBaseDatos+"\n")
Arch_DatosConexion.write(Str_Puerto+"\n")
Arch_DatosConexion.write(Str_LoginBaseDatos+"\n")
Arch_DatosConexion.close()

except:
tkMessageBox.showerror("Conectar Base Datos","Error en datos de
conexion",parent=vntConectar)
sqlfinal=[]
return sqlfinal

return sqlfinal

if __name__ == '__main__':
File()

>From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
>To: "Alejandro Sepúlveda Sotomayor" <jalitrox(at)msn(dot)com>
>CC: pgsql-es-ayuda(at)postgresql(dot)org
>Subject: Re: [pgsql-es-ayuda] Error en Python con Postgres en: import pgdb
>Date: Sun, 3 Jun 2007 04:36:38 +0000
>
>On 6/3/07, Alejandro Sepúlveda Sotomayor <jalitrox(at)msn(dot)com> wrote:
>>Hola: soy nuevo en esto de postgres y python ... estoy tratando de
>>compilar
>>un codigo pero me genera un error al importar las librerias:
>>import pgdb
>>import pg
>>
>
>que libreria de python estas usando para conectarte a postgres?
>
>--
>Atentamente,
>Jaime Casanova
>
>"Programming today is a race between software engineers striving to
>build bigger and better idiot-proof programs and the universe trying
>to produce bigger and better idiots.
>So far, the universe is winning."
> Richard Cook
>
>---------------------------(fin del mensaje)---------------------------
>TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> a los suscriptores de la lista

_________________________________________________________________
MSN Latino: el sitio MSN para los hispanos en EE.UU. http://latino.msn.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Gonzalez 2007-06-03 05:15:37 Re: Error en Python con Postgres en: import pgdb
Previous Message Jaime Casanova 2007-06-03 04:36:38 Re: Error en Python con Postgres en: import pgdb