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/
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 |