Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-07-2008
Critter Critter is offline
Miembro
 
Registrado: may 2003
Posts: 60
Poder: 21
Critter Va por buen camino
Posible Bug en componentes SQLQuery ?

hola amigos:

Estoy intentando desarrollar una aplicación mediante lázarus y utilizo firebird. utilizando el componente SQLQuery del paquete sqllaz que viene con lázarus y estoy teniendo problemas con los campos que llevan las letras características del español como la 'Ñ'. Utilizo el charset win1252 y desarrollando con delphi y FIBplus nunca he tenido este problema.

He hecho la prueba eliminando los caracteres mencionados de los registros y entonces si me devuelve el registro correcto, en caso contrario me devuelve una cadena vacía.


También he probado con los componentes ZEOS y el resultado es el mismo, sin embargo en IBExpert aparece bien todo por lo que sospecho que es un problema de lazarus, quizás el componente padre.

En caso de tratarse de un bug, si alguien tuviera a bien de subirlo a la lista de lázarus, puesto que mi inglés es nulo.

Gracias.
Responder Con Cita
  #2  
Antiguo 17-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Critter Ver Mensaje
hola amigos:
También he probado con los componentes ZEOS y el resultado es el mismo, sin embargo en IBExpert aparece bien todo por lo que sospecho que es un problema de lazarus, quizás el componente padre.
Por lo que contas juraría que en realidad el problema esta en la codificación del servidor Firebird de Linux. Podes probar conectarte desde lazarus al servidor windows que comentas que funciona bien?

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #3  
Antiguo 17-07-2008
Critter Critter is offline
Miembro
 
Registrado: may 2003
Posts: 60
Poder: 21
Critter Va por buen camino
sí, he conectado desde lazarus y desde IBExpert poniendo la misma orden SQL en ambos y la misma base de datos con la misma codificación y el problema persiste.

¿ alguna idea ? ...

lo raro es que no muestra caracteres extraños ni cambiados, simplemente devuelve una cadena vacia donde hay datos, y la devuelve según el criterio de la consulta.

Ejem: sí tengo un campo que debe devolver "PEDRO MUÑOZ", lo devuelve en blanco, sin embargo si lo cambio por "PEDRO MUNOZ", si me lo muestra.

Gracias.
Responder Con Cita
  #4  
Antiguo 17-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Critter Ver Mensaje
sí, he conectado desde lazarus y desde IBExpert poniendo la misma orden SQL en ambos y la misma base de datos con la misma codificación y el problema persiste.
A ver si entiendo, me dices que con IBEXPERT misma base puesta en windows se conecta excelente, y la misma base en linux te da el error? O sea que ya identificaste que es un problema de codificación del servidor de Linux? Probaste lo contrario? desde tu app en lazarus/linux conectarte al servidor windows a ver que pasa?

Te recomiendo cambiar el charset de la base de datos que debe ser lo que esta molestando. Ejemplo de DDL al crear la base:

CREATE DATABASE localhost:meter
USER SYSDBA
PASSWORD masterkey
PAGE_SIZE 4096
DEFAULT CHARACTER SET ISO8859_1;

juega con el character set, pero este es correcto para nuestros caracteres especiales
Ahora, como se cambia una vez creado no recuerdo, espero que el ibexpert lo tenga, aun no abro mi VM (si lo tiene me cuentas), gracias.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #5  
Antiguo 17-07-2008
Critter Critter is offline
Miembro
 
Registrado: may 2003
Posts: 60
Poder: 21
Critter Va por buen camino
Unhappy

No es un problema de conexión, es un problema de charset, determinados registros me muestra los campos donde aparecen esos caracteres en blanco, el resto perfecto. Y solo tengo el problema con los componentes lazarus.
Utilizando Delphi y componentes de Delphi no tengo problema ninguno. No es problema de servidor.

ejemplo:


tengo un Grilla y me sale mas o menos así
CLIENTE
-----------------------
JOSE ESPARZA
*
MIGUEL PEREZ



* Aqui no muestra el nombre del cliente que es ALVARO MUÑOZ, en su lugar aparece una cadena vacia y el cual si esta en la base de datos puesto que con IBExpert si aparece, unicamente me ocurre en el acceso a componentes de lazarus.

Gracias.

Última edición por Critter fecha: 17-07-2008 a las 17:57:30.
Responder Con Cita
  #6  
Antiguo 17-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Critter Ver Mensaje
sí, he conectado desde lazarus y desde IBExpert poniendo la misma orden SQL en ambos y la misma base de datos con la misma codificación y el problema persiste.
Pero si aquí dices que conectándote desde IBexpert el problema persiste. O no?
Como no va a ser problema de servidor entonces?
La sentencia anterior la entiendo como que te conectas con IBEXPERT a un servidor Linux, ejecutas el query y te sucede el problema. Confirmame por favor.

Mientras hare algunas pruebas con ZEOS y Firebird y te cuento como me fue.

Dime que versión de ZEOS usas.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #7  
Antiguo 17-07-2008
Critter Critter is offline
Miembro
 
Registrado: may 2003
Posts: 60
Poder: 21
Critter Va por buen camino
Cita:
Empezado por donald shimoda Ver Mensaje
Pero si aquí dices que conectándote desde IBexpert el problema persiste. O no?
Como no va a ser problema de servidor entonces?
La sentencia anterior la entiendo como que te conectas con IBEXPERT a un servidor Linux, ejecutas el query y te sucede el problema. Confirmame por favor.


Saludos.
al decir que el problema persiste quiero decir que no importa en componente de acceso que utilice desde lazarus, tanto con ZEOS como con SQLQuery (que viene con la instalacion de lazarus) me dan el mismo error y el uso del IBExpert era precisamente para comprobar que no era culpa del servidor.

la version de ZEOS es la ultima, la 6.3.3 bajada del svn.

Saludos.
Responder Con Cita
  #8  
Antiguo 17-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Critter Ver Mensaje
al decir que el problema persiste quiero decir que no importa en componente de acceso que utilice desde lazarus, tanto con ZEOS como con SQLQuery (que viene con la instalacion de lazarus) me dan el mismo error y el uso del IBExpert era precisamente para comprobar que no era culpa del servidor.

la version de ZEOS es la ultima, la 6.3.3 bajada del svn.

Saludos.
Ok acabo de probar y funciona ok, usando ñ acentos etc...

Te pego el compo de conexión:

object ZConnection1: TZConnection
Protocol = 'firebird-2.0'
HostName = '127.0.0.1'
Database = 'Prueba'
User = 'sysdba'
Password = 'masterkey'
Connected = True
left = 24
end

Estoy usando la versión de zeos 6.6.3-rc porque la verdad la última del svn no me compila en lazarus.

Será el protocolo que usaste? Proba el que te pase.

Espero te ayude en algo..

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #9  
Antiguo 21-07-2008
Critter Critter is offline
Miembro
 
Registrado: may 2003
Posts: 60
Poder: 21
Critter Va por buen camino


más de lo mismo, he probado tus indicaciones, he probado los componentes FIBL los FBIBL y nada, sigue fallando, cuando tampoco es problema de la base de datos ni del motor de base de datos, puesto que he creado un acceso a datos desde Delphi 7 a la susodicha base de datos y si que funciona me muestra los campos con nombres de personas que contienen la Ñ en sus apellidos.

Es Lazarus.-

Gracias.-
Responder Con Cita
  #10  
Antiguo 21-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Critter Ver Mensaje


más de lo mismo, he probado tus indicaciones, he probado los componentes FIBL los FBIBL y nada, sigue fallando, cuando tampoco es problema de la base de datos ni del motor de base de datos, puesto que he creado un acceso a datos desde Delphi 7 a la susodicha base de datos y si que funciona me muestra los campos con nombres de personas que contienen la Ñ en sus apellidos.

Es Lazarus.-

Gracias.-
Amigo, entiendo tu frustración pero no es lazarus. Aca funciona... Puede ser la definición del campo, por ejemplo. Quizas windows este forzando un charset, es probable.
Podes probar forzando en el campo el charset? Ejemplo:

CREATE DOMAIN GUID AS
CHAR(22) CHARACTER SET ISO8859_1
COLLATE ES_ES;

Lo que te aconsejo es mensaje a la lista de zeos y de firebird a ver como te pueden ayudar. Eso si tenes el tiempo como para intentar solucionarlo, sino obviamente quedate con lo que obtuviste.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #11  
Antiguo 22-07-2008
Critter Critter is offline
Miembro
 
Registrado: may 2003
Posts: 60
Poder: 21
Critter Va por buen camino
Thumbs up

bueno, parece ser que no soy el unico que tiene el problema y alguien ha posteado ya el bug.


http://bugs.freepascal.org/view.php?id=11725

de todas maneras muchisimas gracias por tu interés.

saludos!:
Responder Con Cita
  #12  
Antiguo 22-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por Critter Ver Mensaje
bueno, parece ser que no soy el unico que tiene el problema y alguien ha posteado ya el bug.


http://bugs.freepascal.org/view.php?id=11725

de todas maneras muchisimas gracias por tu interés.

saludos!:
Ya veo. Un concejo, bájate mis repos para ubuntu, estan en el blog, que con esa versión de lazarus (que es compilada del svn de una semana atras) y la fpc que esta ahi mismo funciona.

Si necesitas la version de zeos que uso, la tengo en un zip, ya se la envie a otro amigo del club.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
query simple, sqlquery+Datasource+DBgrid sakuragi Lazarus, FreePascal, Kylix, etc. 1 24-06-2008 23:01:34
Ya es posible instalar otros componentes en Turbo Delphi Hagen Noticias 7 19-09-2006 10:06:36
Activar un SQLQuery beatriz g SQL 3 29-08-2006 10:06:40
SQLQuery con IBExpress Humberto Pertuz Conexión con bases de datos 2 05-11-2003 22:48:02


La franja horaria es GMT +2. Ahora son las 02:20:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi