Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 22
sur-se Va por buen camino
Hola. Gracias por vuestra ayuda. Os comento:
- Con la versión 2.1 funciona perfectamente, pero por las novedades y diferencias introducidas entre la 2.1 y la 1.5.6, no me interesa usar la versión 2.1.
- El firewall está configurado correctamente. De hecho con la versión 2.1 funciona bien. El problema sólo está con la 1.5.
- No estoy simulateneándo ambas versiones. Cuando he probado la 2.1 he desintalado la otro y viceversa.
- El servicio firebird está funcionando y operativo en la lista de servicios, así como el fbguard. Los he detenido y vuelto a arrancar varias veces y nada.
- He revisado el fichero firebird.conf y repasado los parámetros de configuración.

Nada. Que no es posible conectar. Parece que no puede acceder a la base de datos de seguridad. Ya no sé que más hacer.
Responder Con Cita
  #2  
Antiguo 18-05-2010
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 sur-se Ver Mensaje
Hola. Gracias por vuestra ayuda. Os comento:
- Con la versión 2.1 funciona perfectamente, pero por las novedades y diferencias introducidas entre la 2.1 y la 1.5.6, no me interesa usar la versión 2.1.
Pero... cual es el problema que uses una versión que soluciona ese y otros miles de problemas? no comprendo.
Si la solución es mas que sencilla, para que te la complicas?
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #3  
Antiguo 18-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 22
sur-se Va por buen camino
Pues la versión 2.x introduce una serie de inconvenientes que ahora mismo no es el momento de ponerme a cambiarlos. Entre ellos:
- Cambio en el sistema de alias en las SQL, que obliga a que o bien todas las tablas tengan alias, o ninguna lo tenga. Tengo muchas SQL con tablas con y sin alias. Si se ejecuta en el 2.x algunas dan error y ahora mismo no puedo ponerme a revisar toda la aplicación para cambiarlo. Esto funcionaba perfectamente en la 1.5.6 y ahora en la 2.x da errores.
- No se puede modificar algunas cosas de la estructura de una base de datos en el 2.x si hay otros usuarios conectados. Por ejemplo, utilizaba un sistema para crear tablas "temporales" (simuladas) que en realidad son tablas cuyo nombre es con un generador aleatorio, y cuando se terminaba su uso se borraban. Con el 2.x se pueden crear pero después no se pueden borrar.

Estas cosas entre otras, que en el futuro tendré que cambiar para pasarme a la 2.x, pero que ahora mismo no es el momento para dedicarlo a ello. Por eso necesito instalar la 1.5.6.
Un saludo
Responder Con Cita
  #4  
Antiguo 18-05-2010
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 sur-se Ver Mensaje
Pues la versión 2.x introduce una serie de inconvenientes que ahora mismo no es el momento de ponerme a cambiarlos. Entre ellos:
- Cambio en el sistema de alias en las SQL, que obliga a que o bien todas las tablas tengan alias, o ninguna lo tenga. Tengo muchas SQL con tablas con y sin alias. Si se ejecuta en el 2.x algunas dan error y ahora mismo no puedo ponerme a revisar toda la aplicación para cambiarlo.
A que te referis con ALIAS??? a esto??:

Código SQL [-]
select IDCLI as IDCLIENTE from CLIENTES

Si es asi, tenes en algún otro lado un error, porque tu afirmación es errónea.

Cita:
Empezado por sur-se Ver Mensaje
- No se puede modificar algunas cosas de la estructura de una base de datos en el 2.x si hay otros usuarios conectados. Por ejemplo, utilizaba un sistema para crear tablas "temporales" (simuladas) que en realidad son tablas cuyo nombre es con un generador aleatorio, y cuando se terminaba su uso se borraban. Con el 2.x se pueden crear pero después no se pueden borrar.
Si no las podes borrar es porque el usuario que estaba usando esa tabla , la sigue usando, por lo cual FB te esta protegiendo de un error terrible, que acaba con corrupción de la base de datos con el tiempo.
Te funcionará en la versón 1.5.6 pero esta muy mal, no lo hagas mas porque vas a perder tus datos tarde o temprano.

Cita:
Empezado por sur-se Ver Mensaje
Estas cosas entre otras, que en el futuro tendré que cambiar para pasarme a la 2.x, pero que ahora mismo no es el momento para dedicarlo a ello. Por eso necesito instalar la 1.5.6.
En realidad creo que deberías agradecerle a la nueva versión, te esta mostrando errores en tu código que te van a traer muchos problemas.

Saludos
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #5  
Antiguo 18-05-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por donald shimoda Ver Mensaje
[..]En realidad creo que deberías agradecerle a la nueva versión, te esta mostrando errores en tu código que te van a traer muchos problemas. Saludos
Desde luego, lo de los alias sigue igual, se pueden usar o no usar, como se quiera.
Y lo segundo, de ser cierto, menos mal que funciona bien en la 2.1
Responder Con Cita
  #6  
Antiguo 18-05-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

¿ Para la conexión utilizas el protocolo local o de red ?.

Puesto que el protocolo local no te va a funcionar en Windows 2008. En este caso la solución es tan sencilla como pasar a utilizar el protocolo de red, lo cual se consigue simplemente añadiendo localhost: al principio de la cadena de conexión. Naturalmente necesitas abrir el puerto 3050 en el firewall local.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #7  
Antiguo 18-05-2010
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 guillotmarc Ver Mensaje
Hola.

¿ Para la conexión utilizas el protocolo local o de red ?.

Puesto que el protocolo local no te va a funcionar en Windows 2008. En este caso la solución es tan sencilla como pasar a utilizar el protocolo de red, lo cual se consigue simplemente añadiendo localhost: al principio de la cadena de conexión. Naturalmente necesitas abrir el puerto 3050 en el firewall local.

Saludos.
Con FIB 2.1 funciona tal cual, sin ningún cambio, o sea que...
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #8  
Antiguo 18-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 22
sur-se Va por buen camino
Gracias por tu contestación, pero no estoy del todo de acuerdo con lo que indicas.

Esta consulta funciona perfectamente en 1.5.6 y en 2.x no:
Código:
SELECT C.CCOD_SERIE, C.NCOD_MOVALM, C.DFECHAHORA, L.CTIPO, A.CARTICULOALMACEN,
       L.NCOD_ORDEN, L.CARTICULO, L.NALMACEN, L.NALMACENORIG, L.NCANTIDAD1, L.NCANTIDAD2  
FROM CABMOVALM C , LINMOVALM L, ARTICULOS A  
WHERE (C.CCOD_SERIE = L.CCOD_SERIE) 
AND (C.NCOD_MOVALM = L.NCOD_MOVALM)  
AND (L.CARTICULO = A.CCOD_ARTICULO) 
AND A.CTIPO <> 'S'  
AND ARTICULOS.CCOD_ARTICULO>='030403' and (ARTICULOS.CCOD_ARTICULO<='030403') 
and (DFECHA>='01/01/10') and (DFECHA<='01/31/10') 
AND (ARTICULOS.CESTADO='A') AND (ARTICULOS.CTIPO='N') AND A.CESTADO = 'A'
Para solucionarlo hay que cambiar los ARTICULOS. por A., o quitar el alias A y poner todo como ARTICULOS. No veo que esta consulta esté mal por ello, pero si sé que en el 2.x no funciona. Tuve que investigar el motivo y era simplemente ese. O se usa un alias en todo o no se usa en ninguno, pero no se puede a veces si y a veces no en la misma consulta. No entro a valorar si es correcto o incorrecta formalmente la SQL. Lo cierto es que en el 1.5 funciona bien y en el 2.x no.

Respecto a lo segundo, no veo porque el hecho de crear o borrar tablas en una base de datos tiene porque corromperla. Para eso está la base de datos y sus instrucciones de creación y borrado. No me parece un motivo para ello y no estoy de acuerdo con esa afirmación de que por ello voy a corromperla.
En la versión 1.5.6 no hay tablas temporales, así que si necesito una tabla en la base de datos para un proceso que se ejecuta en un procedimiento almacenado (por ejemplo), lo que hago es crear la tabla con un nombre TMP+código de un generador. La utilizo en el proceso que se quiera y luego cuando ya no se necesita, se hace el drop. No veo que problema o cosa mal esté haciendo por ello como para que se corrompa la base de datos. De hecho, llevo mucho tiempo usando ese sistema y nunca se me ha corrompido la base de datos.

De todas formas, agradezco tu interés y ayuda. Como verás el problema es que necesito usar la 1.5.6 y no veo porque no funciona en el WS2008. Es muy raro.
Un saludo.

Última edición por Casimiro Notevi fecha: 18-05-2010 a las 18:15:46. Razón: Ajustar código para que se vea completo
Responder Con Cita
  #9  
Antiguo 18-05-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
sur-se, me he permitido ajustar el código para que se vea completo en pantalla, espero que no te moleste.
Responder Con Cita
  #10  
Antiguo 18-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 22
sur-se Va por buen camino
uf... se me cruzaron las respuestas: Gracias por editar la consulta para que se viera completa. Muchas gracias.

Um... no veo que esté "pésimamente" escrita por el hecho de escribir en algún sitio ARTICULOS. en vez de A.. Pero da igual, es cuestión de opiniones. No voy a entrar en eso. La cuestión es que no funciona. Quizás no me expliqué antes bien. Pero lo cierto es que en 1.5.6 funciona bien y en 2.x no.

Respecto a lo de la tabla el proceso te lo puedo decir fácilmente:
- Creo la tabla y commit.
- Acceso a la tabla, proceso y demás y commit.
- Drop de la tabla y commit.

Todo en el mismo sitio. No pueden haber dos a la vez, ni la tabla abierta ni nada parecido pues es una tabla de "un solo uso". En este foro se ha comentado varias veces esta opción como solución para las tablas temporales. No es invento mío. Y funciona bien y nada de corromper la BD.
De todas formas, esto último es lo que menos me preocupa. El tema está ahora en tener que revisar toda la aplicacion, todas las consultas para arreglarlas. ahora no es el momento ...
Gracias por tu ayuda.

Última edición por sur-se fecha: 18-05-2010 a las 18:30:36.
Responder Con Cita
  #11  
Antiguo 18-05-2010
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 sur-se Ver Mensaje
Esta consulta funciona perfectamente en 1.5.6 y en 2.x no:
Código:
SELECT C.CCOD_SERIE, C.NCOD_MOVALM, C.DFECHAHORA, L.CTIPO, A.CARTICULOALMACEN,
       L.NCOD_ORDEN, L.CARTICULO, L.NALMACEN, L.NALMACENORIG, L.NCANTIDAD1, L.NCANTIDAD2  
FROM CABMOVALM C , LINMOVALM L, ARTICULOS A  
WHERE (C.CCOD_SERIE = L.CCOD_SERIE) 
AND (C.NCOD_MOVALM = L.NCOD_MOVALM)  
AND (L.CARTICULO = A.CCOD_ARTICULO) 
AND A.CTIPO <> 'S'  
AND ARTICULOS.CCOD_ARTICULO>='030403' and (ARTICULOS.CCOD_ARTICULO<='030403') 
and (DFECHA>='01/01/10') and (DFECHA<='01/31/10') 
AND (ARTICULOS.CESTADO='A') AND (ARTICULOS.CTIPO='N') AND A.CESTADO = 'A'
Para solucionarlo hay que cambiar los ARTICULOS. por A., o quitar el alias A y poner todo como ARTICULOS.
Ahora si me queda claro, pense que te referias a que en distintas consultas, en algunas de ellas podias usar alias y en otros no.

Cita:
Empezado por sur-se Ver Mensaje
No veo que esta consulta esté mal por ello, pero si sé que en el 2.x no funciona. Tuve que investigar el motivo y era simplemente ese. O se usa un alias en todo o no se usa en ninguno, pero no se puede a veces si y a veces no en la misma consulta. No entro a valorar si es correcto o incorrecta formalmente la SQL. Lo cierto es que en el 1.5 funciona bien y en el 2.x no.
Te entiendo, y si realmente nunca vi una consulta donde se use un alias en algunas referencias y en otro no, habria que ver que dice la norma, pero para mi esta pesimamente escrita, prestandose a confusión de quien la lee.

Cita:
Empezado por sur-se Ver Mensaje
Respecto a lo segundo, no veo porque el hecho de crear o borrar tablas en una base de datos tiene porque corromperla. Para eso está la base de datos y sus instrucciones de creación y borrado. No me parece un motivo para ello y no estoy de acuerdo con esa afirmación de que por ello voy a corromperla.
Nunca dije que CREAR una tabla sea para corromperla.
Lo que te dije es que si FB 2.1 esta EVITANDO que la dropees implica que sigue estando en uso, por tanto TU CODIGO esta mal escrito dado que intentas DESTRUIR un recurso(la tabla) mientras esta en USO. Lo mismo te pasaría con cualquier recurso, objeto, etc, como bien sabes.

Cita:
Empezado por sur-se Ver Mensaje
En la versión 1.5.6 no hay tablas temporales, así que si necesito una tabla en la base de datos para un proceso que se ejecuta en un procedimiento almacenado (por ejemplo), lo que hago es crear la tabla con un nombre TMP+código de un generador. La utilizo en el proceso que se quiera y luego cuando ya no se necesita, se hace el drop. No veo que problema o cosa mal esté haciendo por ello como para que se corrompa la base de datos. De hecho, llevo mucho tiempo usando ese sistema y nunca se me ha corrompido la base de datos.
Si fuera asi como lo mencionas no habria problemas, si muestras el código te muestro con gusto donde esta el error que causa que FB 2.1 no permita borrarla.

Cita:
Empezado por sur-se Ver Mensaje
De todas formas, agradezco tu interés y ayuda. Como verás el problema es que necesito usar la 1.5.6 y no veo porque no funciona en el WS2008. Es muy raro.
Un saludo.
Para eso no tengo solución la verdad, aunque dado el tiempo que paso desde que liberaron la obsoleta v 1.5.6 y el 2008... Como sabes la compatilibidad esta hacia atrás, hacia adelante solo puedes esperar que sea compatible.
__________________
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
Dlephi 6 - Windows 7 - SQL Server 2008 andresu723 MS SQL Server 0 14-04-2010 16:33:50
Instalacion de Servicio Windows Server 2008 genius Varios 2 27-12-2009 23:44:04
Problema DBExpress en Windows Server 2008 cmagno Conexión con bases de datos 0 12-02-2009 14:39:11
firebird y .net 2008 voldemmor .NET 0 27-11-2008 17:15:54
No más Windows XP a partir de 2008 kinobi Noticias 15 17-04-2007 19:57:13


La franja horaria es GMT +2. Ahora son las 11:21:00.


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