![]() |
campo tipo date
Hola a todos,
Tengo una tabla interbase 7, que está siendo utilizada desde una aplicación hecha en delphi 6. el problema es que tengo un campo, que tiene que contener SÓLO HORAS, y como está vinculado a un campo de IB de tipo DATE, por lo que me guarda también los días (fecha), lo cual me da problemas en la aplicación Hay algún tipo de campo, que guarde sólo horas, o alguna forma de decirle a mi base de datos que sólo gestiones horas? ¿alguna definición de dominio para este tipo de datos? GRacias Virginia |
Hola,
tipo TIME disponible a partir de InterBase 6.0 (utilizando dialecto 3). Saludos. |
¿y si utilizas interbase 7 pero con dialecto 1?
saludos Virginia |
Cita:
|
Hola,
además de lo que comenta Cadetill ... Cita:
Resumen de tipos fecha-hora: 1. Pre-versión 6.0 (o si utilizas dialecto 1): DATE ... Almacena fecha y hora. 2. Versión 6.0 y siguientes (utilizando dialecto 3): DATE ... Almacena sólo fecha. TIME ... Almacena sólo hora. TIMESTAMP ... Almacena fecha y hora. Conclusión: o cambias de dialecto, al 3, o tendrás que utilizar necesariamente el tipo DATE del dialecto 1, que incluye fecha y hora. Saludos. |
Pillo la idea, pero me surgen nuevas dudas...
¿que diferencia hay entre el dialecto 1 y el 3 además de esta que me comentas? ¿como hago para pasar mis tabla paradox 5 a interbase7 con dialecto 3? Por que he conseguido pasarlas a interbase7, pero sólo me lo permite, si lo hago con dialecto 1.:( Gracias Virginia |
Para pasar una base de datos de un dialecto a otro se usa la intrucción GFIX de esta manera:
Un par de apreciaciones: Esto funciona, aunque no se puede garantizar que se pasará bien en el 100% de las ocasiones. Es posible que no se pueda. Si no tras ejecutar la instrucción se vuelve a la línea de comandos sin ningún mensaje entonces la cosa ha ido bien. En segundo lugar, los campos que antes eran de tipo DATE, tras la conversión serán de tipo TIMESTAMP. Esto es así debido a los nuevos tipos. Como ya se ha comentado aqui, antes sólo existía el tipo DATE, que almacenaba fecha y hora, y tenía una longitud de 64 bits. Ahora los tipos de datos son DATE, que almacena fechas y TIME que almacena horas, y ambos tiene una longitud de 32 bits. Además tambien se añade el tipo TIMESTAMP únicamente para compatibilidad con el viejo tipo DATE, ya que al igual que éste, TIMESTAMP alamacena fechas y horas con una longitud de 64 bits. Como lo que te hace falta son solo las horas, puedes intentar a modificar el campo de TIMESTAMP a TIME con una instrucción SQL DDL tal como esta: ALTER TABLE TABLA ALTER CAMPO1 TYPE DATE aunque... no garantizo la conversión Espero haberte ayudado :) |
Ups! supongo que os habeis dado cuenta, me he equivocado en el anterior post en la intrucción para cambiar el tipo de dato. La que puse era para pasar al nuevo tipo date. :D
Para pasar a TIME sería ALTER TABLE TABLA ALTER CAMPO1 TYPE TIME Por cierto, he hecho una prueba y parece que la conversión se realiza perfectamente. |
gracias,
efectivamente, funciona ok. Lo que no me queda claro es, por que no me deja pasar directamente a dialecto 3, cuando paso las tablas paradox a interbase, ni cuales son las diferencias principales de estos. Muchas gracias por la ayuda, Virginia |
Hola,
Cita:
Cita:
http://community.borland.com/article...,23218,00.html ftp://ftpc.inprise.com/pub/interbase...ationGuide.zip Saludos. |
Cita:
Finalmente, las tablas las estoy pasando directamente desde paradox, con la opción copy que el paradox tiene. De esta manera tengo que revisar los indices y los tipos de mis campos, después de pasar de paradox a interbase, pero es de la única forma con la que he conseguido hacerlo. Si sabes de alguna forma mejor.... en cualqueir caso, gracias por la ayuda. Virginia |
Hola,
Cita:
Cita:
Acabo de mirarlo y es la versión 5.2. Si estás trabajando con una versión anterior del BDE, puedes descargarte ésta en ... http://info.borland.com/devsupport/bde/bdeupdate.html Saludos. |
Hola,
si lo estoy haciendo con DBE. Hay alguna otra forma de pasar las tablas de paradox 5 a interbase 7 usando dialecto 3 y que sea más o menos sencilla de usar o tenga una buena documentación? gracias Virginia |
Por cierto, ¿que se supone que debo hacer con el archivo que me indicaste me bajase de la página web de borland?
¿A que se supone sustituye? gracias Virginia |
Hola,
Cita:
Saludos. |
Hola,
Cita:
Cita:
Saludos. |
Hola,
lo preguntaba por que me da error al instalarlo, de hecho, dice que tengo que tener una "enterprise version of delphi" y yo la que tengo es la profesional. Saludos Virginia |
Si te fijas en la web que te dice kinobi, veras que tienes para descargar tanto la version Enterprise del BDE como la Professional. Quizas te equivocaste de enlace al descargarlo
|
Si utilizas el tipo TIME tendrás la restricción de que no podrás almacenar más de 24 horas y tendrías que usar un campo de tipo integer y almacenar segundos, minutos u horas según te convenga y a la hora de visualizarlo convertirlos. Ésto si te permitirá tener por ejemplo 4 dias y 23 horas o 119 dias según te convenga visualizar.
|
Hola,
Me he bajado la versión profesional, la cual se ha instaldo bien... pero sigo sin poder pasar directamente de paradox a interbase con dialecto 3. Usando el datapump no tengo que tener la tabla definida en interbase, por que si las tengo definidas no me pasa los datos. Si no tengo las tablas definidas me pasa la mayoría de las tablas menos dos, que no son muy grandes ni tienen nada de particular. Las tablas que si me ha pasado a interbase con dialecto 3, tengo que revisarla 1 por una para controlar que su promary key esta bien definida, por que me la pone como un indice más, no como una primary key. ¿Hay alguna forma, algo más sencilla, para pasar de paradox a interbase? Gracias, virginia |
La franja horaria es GMT +2. Ahora son las 03:57:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi