FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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' 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 |
#2
|
||||
|
||||
sur-se, me he permitido ajustar el código para que se vea completo en pantalla, espero que no te moleste.
|
#3
|
|||
|
|||
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. |
#4
|
||||
|
||||
Precisamente es algo que han solucionado en firebird 2.1, si declaras la tabla ARTICULOS con el alias A, es para usarlo, no para luego usar ARTICULOS.
O sea, en firebird 1.5 funciona porque no comprueba correctamente ese error. Como bien dices, sustituyendo ARTICULOS por A, funciona. Y es que debe ser así. No debería funcionar en la v1.5 pero ya lo han solucionado y es por eso que sí te avisa en la v2.1 |
#5
|
||||
|
||||
Cita:
Esto tiene mil variantes depende de que componentes uses, como te conectes, en fin, uno nunca ve los errores en su código, por eso me ofrecí a darte una mano. |
#6
|
|||
|
|||
uff.. no me ofendo, es sólo una opinión y en cierto sentido la comparto contigo, que debería estar todo como A, y mucho menos me voy a enfadar con una persona que está tratando de ayudarme, ni mucho menos ... gracias una vez más.
Cuando descubrí la causa hace tiempo ya me preocupo de poner bien los alias, pero claro hay código antigüo, mucho del cual ni siquiera escribí yo, que puede contener estos errores. Uso los componentes FibPlus 6 y Delphi 5. Creo la tabla con una instrucción CREATE TABLE y su commit posterior. Hago uso de la tabla y su commit correspondiente. Luego el drop de nuevo. A ver si preparo un pequeño ejemplo y lo subo para que lo veáis. Un saludo amigos |
#7
|
||||
|
||||
Cita:
Cita:
Cita:
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:
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|