Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Cambiar Sqlite3 Por Postgresql
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Cambiar Sqlite3 Por Postgresql 
 
Hola a todos.
Estoy intentando pasar una aplicación en gambas con sqilite3 a postgres, logro conectar y "leer" los datos pero cuando quiero editarlos no funcionan las sentencias nativas de gambas como:
rsGuardar = cn.Edit(stTable, stCampo=&1", id)

Sigo las premisas del post sobre eleccion de bases de datos
Bueno al principio no editaba, pero luego vi que había dos problemas que no tenían nada que ver con gambas:
1) La sentencia es sensible a mayúsculas y minúsculas. Al pasar de sqlite3 a postgres la base de datos las tablas y los campos quedaron en minúsculas.
2) En Squlite3 no tenia definida una clave primaria, por convención usaba el  campo 1º pero en postgresql es necesaria, de lo contrario no edita.
Solución, le puse el campo 1 en postgresql como clave primaria y listo, edita y funciona.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cambiar Sqlite3 Por Postgresql 
 
Citar:
En Squlite3 no tenia definida una clave primaria,

Sí la tenías, solo que no definida por tí. Sqlite siempre añade una clave primaria a todas las tablas y la denomina rowid es decir, la clave primaria viene "de serie"
Cito de la web de sqlite (traducido por google):
Citar:
A excepción de tablas WITHOUT ROWID, todas las filas dentro de las tablas de SQLite tienen una clave de entero de 64 bits que identifica de forma exclusiva la fila dentro de su tabla. Este entero generalmente se llama la "rowid". El valor rowid se puede acceder usando uno de los casos y nombres independiente "rowid" especial "OID", o "_ROWID_" en lugar de un nombre de columna. Si una tabla contiene una columna definida por el usuario llamado "rowid", "oid" o "_ROWID_", entonces ese nombre siempre se refiere la columna declarada de forma explícita y no se puede utilizar para recuperar el valor entero rowid.


Para comprobarlo sólo tienes que hacer un "Select rowid,* from mitabla" en cualquiera de las tablas que has definido sin clave primaria.

Respecto a Postgre, no puedo ayudarte mucho, nunca lo he usado.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Hago Para Configurar Postgresql O Mys... jousseph Bases de Datos 1 Jueves, 05 Agosto 2010, 21:29 Ver último mensaje
jousseph
No hay nuevos mensajes Como Puedo Relacionar Tablas En Mysql O Po... jousseph Bases de Datos 24 Sabado, 01 Diciembre 2012, 17:18 Ver último mensaje
mg_arep19
No hay nuevos mensajes Un Detalle Con Postgresql jousseph Bases de Datos 0 Lunes, 30 Junio 2014, 18:52 Ver último mensaje
jousseph
No hay nuevos mensajes Obtener Lista De Tablas De Sqlite3 Postgre... tincho Bases de Datos 4 Domingo, 21 Febrero 2016, 14:01 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron