![]() |
![]() |
| Paypal | 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
|
||||
|
||||
|
Caral, veo que estas expandiendo tus conocimientos, experiencia y estas con ganas de dedicarle a Firebird. Me parece fabuloso.
Quiero agregar que como la versión gratuita de IBExpert no cuenta con el modelo relacional (DER) y algunas veces a uno le hace falta tener una vista rápida de como están relacionadas las tablas... puedes valerte de otro utilitario para diseñado para esto: IBUtils. A mi me recomendaron, lo empecé a usar... y me sirve mucho. Saludos, PD: ¡Exitos con Firebird! |
|
#2
|
||||
|
||||
|
Hola
Gracias por ayudarme. Ya hice una base de datos, la cree sin problemas y la pude ver desde IBexpert. Conecte el odbc a la base de datos creada y pase varias tablas para ver, esto lo hizo sin problemas con el datapump de delphi. Tengo dudas, aqui van: A la hora de crear la base de datos hay una opción que se llama Charset, en esta hay un monton de opciones, en el ejemplo que vi ponen win1252 y asi lo hice yo. Ahora mi duda: Para que es esto? Tiene que ver con el codigo sql? Lo indico porque a la hora de pasar varias tablas el campo tipo boleano en access lo convierte en varchar, es mas o menos similar a lo que pasaba con mysql. Hay algun campo boleano en firebird ?, cual es? Creo que de momento voy bien, por lo menos ya arranque. Otra cosa, pude conectarme desde delphi con zeos, no lo pude hacer por odbc con ado, me indica casualmente este asunto, que se cambiaron los datos o algo asi, por que sera? No me pude conectar con IB, me dice que me hace falta una transaccion, no se que sera.?, estos componentes no los conozco. Gracias por seguir ayudandome. Nota: estoy contento, ya estoy en firebird. Saludos |
|
#3
|
|||
|
|||
|
El Charset es el conjunto de caracteres que va a usar tu base de datos...
Mayormente para español se usa ISO8859_1 (al menos es el que yo uso)... El Charset también te sirve para poder especificar el tipo de ordenamiento de una columna, por ejemplo:
Firebir 2.x si tiene el tipo BOOLEAN para las columnas. Para conectarte con las IBX necesitas poner un TIBDatabase y un TIBTransaction en la forma y establecer la propiedad DefaultTransaction del TIBDatabase para que use el TIBTransaction y el TIBTransaction en su propiedad Database que apunte al TIBDatabase. (Espero haberme explicado )Saludos... |
|
#4
|
||||
|
||||
|
Cita:
¿soy tan lento? ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#5
|
||||
|
||||
|
Cita:
, porque he tratado de hacerlo y nada nadita. De la unica manera que he podido hacer un campo de este tipo es mediante un Domain.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
#6
|
|||
|
|||
|
Cita:
Acabo de verificar y si, Firebird NO cuenta con el tipo de datos BOOLEAN, así que como bien comenta jachguate, se puede usar mediante CHAR(1) o SMALLINT... O como bien mencionas tu, con un dominio:
Saludos... |
|
#7
|
||||
|
||||
|
Pues yo estoy usando Firebird 2.0 y el campo booleano no lo veo por ningun sitio. Cosa que no entiendo la verdad.
Pero los expertos supongo que sabran el motivo. ![]() |
|
#8
|
|||
|
|||
|
Ya aclaré más arriba que fue un error mío el pensar que existía el tipo de datos BOOLEAN en Firebird 2.0...
Aquí te lo pongo de nuevo... Cita:
Saludos... |
|
#9
|
||||
|
||||
|
Hola
A la hora de hacer el cambio de access a firebird el campo boolean lo hace automatico a varchar (F o T), es casi lo mismo, en realidad con esto no se tienen problemas, en mysql lo cambia a SmalInt (0 o 1), como comentario. Hay mas problemas con el campo memo, que lo hace blob, y luego lo lee como string, es un enredo, se tiene que cambiar a tipo texto en access antes de cambiarlo o traspasarlo a firebird, bueno, tampoco es tan complicado, ahora que lo se. Me siento bien atascado, no salgo de muchas cosas, lo que me esta complicando la vida son las sentencias sql, me estan matando, he logrado modificar varias a ver que pasa, usando los aportes de mis maestros (vosotros), ya entiendo el concepto de case y bueno ya no me da error, los problemas vienen de que las consultas no devuelven los valores que necesito, es muy curioso, en un caso en particular, me devuelve acabado, bodega, creacion, facturacion, pero no produccion, por que, ni idea, lo he revisado por todo lado. Bueno si no me doy por vencido, seguire intentandolo, por lo menos un rato, que facil es access en comparacion, se que tambien tengo la opcion de ligar la tabla, access - mysql, no me gusta mucho pero funciona, no se si se podra ligar access - firebird, en tal caso no creo que sea una buena opción. Quien invento el sql y porque lo cambian segun la base de datos, no deberia ser un estandart. ![]() Esto de la programacion es complicado, me estoy dando cuenta de que cada vez soy mas novato, voy para atras. Saludos |
|
#10
|
||||
|
||||
|
Caral,
los campos nulos son nulos, como su propio nombre indica. Es SIN VALOR, ni espacio, ni cadena de longitud cero '', ni nada similar. Te lo cuento porque a mi en su día me costó encontrar sentido al asunto. Por ejemplo, si haces una busqueda por un campo distinto de un valor , los registros que lo tengan a nulo no te aparecen porque no tienen valor, y así un montón de cosas. Lo más simple, es poner los campos como NOT NULL, y cuando sean vacios poner valor = ''. Seguro que algún purista indica algo en sentido contrario, pero qué queremos, funcionalidad y simpleza ante todo . O no? Saludos no nulos a todos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#11
|
|||
|
|||
|
Cita:
Ahora, resulta que la gran mayoría de los manejadores de bases de datos incorporan características propias dentro de estos estándares... Así que si quieres hacer una aplicación que trabaje en varios motores, debes hacer tus consultas SQL usen el estándar estríctamente, esto es, no usar las características de un motor en particular. Saludos... |
|
#12
|
||||
|
||||
|
Cita:
En nuestro caso (español) el mas recomendable, según mi opinion, es el charset ISO_8859_1, y COLLATION ES_ES. Incluso en Firebird 2 podes usar COLLATION ES_ES_CI_AI, que no es sensible a mayúsculas/minúsculas ni acentos. Hay mas información en Firebird Character Sets Cita:
Cita:
El paso a estos componentes, desde BDE/ADO no es fácil, pues todo está mas "crudo". Pero también están los IBObjects, que se parecen mas... Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#13
|
||||
|
||||
|
Hola
Gracias por las respuestas, efectivamente el campo boolean no lo encuentro por ningun lado: ![]() Cuando hago el tralado de las tablas, me lo convierte en varchar, automaticamente, y lo pone T o F, segun el caso. Pregunta: El tipo blob, es memo? Esta muy bonito, si el campo es numerico sale una calculadora y todo. Saludos |
|
#14
|
||||
|
||||
|
Caral, algo, no mucho, de esas cosas te puedo ir respondiendo:
1. Tengo entendido que el CHARSET es el conjunto de caracteres permitidos a usar en la base de datos. Yo lo tengo con el ISO8859_1 Dependiendo del CharSet algunos caracteres pueden que se vean y/o almacenen y otros no... A decir verdad, me está llamando la atención esto que pones: Cita:
![]() ![]() ![]() ![]() 2. No tiene campo booleano, al menos yo no le encuentro . Hay que ingeniarselas. Por ejemplo usar un campo VARCHAR para que almacene 'SI', 'NO' o un integer (0 para no, 1 para si).ADo no utilizo. Ni tampoco los Zeos. Yo empleo los componentes IBX (los de la paleta Interbase) y me funcionan. Lo que dices sobre transacción es que para conectarse a la base de datos (empleando IBX) necesitas de: * IBDataBase * IBTransaction Fijate que el componente IBDataBase tiene una propiedad DefaultTransaction. A dicha propiedad le asignas el IBTransaction. En DBTransaccion defines que acciones por defecto debe tomar ante una transacción. Por lo general con TACommit ya anda. Los componentes IBX son símiles a otros, no creo que tengas problemas... Espero que sigas avanzando. Saludos, EDITO: Al pulsar el botón enviar, me he dado con la sorpresa de que ya te habían respondido... y de paso me aclararon mi duda. No me hagas caso... que ya te dieron mejores respuestas más acabadas y certeras los maestros... ¡Gracias! Última edición por Delphius fecha: 06-06-2007 a las 22:00:15. |
|
#15
|
||||
|
||||
|
Hola
Voy rapido, creo. Ya me conecte con ado, con ib y con zeos, la mas rapida es zeos . Pregunta: Si en un campo integer o float, la tabla queda en null, afecta en algo? Hay alguna manera de generar una consulta sql, dentro de IBexpert ? Si hay forma, se pueden ligar tablas en la consulta, como? Gracias, voy como bala, con vosotros. Saludos |
|
#16
|
|||
|
|||
|
Cita:
Cita:
Cita:
Saludos... |
|
#17
|
||||
|
||||
|
Para Lanzar la cosulta desde IBExpert puedes hacerlo con el Editor de SQL.
Te vas a Herramientas, Editor SQL escribes la consulta y das sobre "RUN". Sinceramente esta parte no entiendo: Cita:
Si es eso, no hay problema. Desde Delphi si hay que tener recaudos con los tipos NULL cuando se dispara una consulta. He visto un post que puso el maestro Lepe en donde explicaba bien esta situación... pero no me acuerdo de donde era... Yo también ando con problemas con el NULL. Saludos, EDITO: Lo econtré: http://www.clubdelphi.com/foros/show...=NULL+Firebird Última edición por Delphius fecha: 06-06-2007 a las 22:25:40. |
|
#18
|
||||
|
||||
|
Hola
Sois mas rapidos que yo. Ya lo hice, y funciona perfecto, con ligar tablas me referia a ver varias tablas en una consulta tipica de sql, si lo hace y perfecto. Una consulta de dos tablas, sencilla. Esta consulta en especial trae 11855 registros y lo hizo muy rapido. He notado, que las consultas son mas rapidas que en mysql, curioso. Bueno aqui sigo experimentando un poco, algun dia manejo estas cosas, por supuesto con vuestra ayuda. Saludos |
|
#19
|
||||
|
||||
|
Cita:
![]() Tambien vas a sacar mucho provecho de los procedimientos almacenados, son una chulada, yo tenía una consulta que por si sola por más que traté de optimizarla se tardaba por lo menos 5 segundos en resolverse (varias tablas y muchas relaciones entre ellas)... al final me dije: "Y porque mejor en vez de usar una consulta compleja mejor no hago un procedimiento almacenado que haga lo mismo pero por partes?"... y el procedimiento me devuelve los mismos resultados en 20 milisegundos ![]()
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..." |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| que hago mal? | jvalles | Gráficos | 2 | 19-07-2005 14:45:06 |
| Como las hago? | jam888 | Firebird e Interbase | 7 | 06-05-2005 22:45:41 |
| Como lo hago? | danytorres | SQL | 4 | 08-06-2004 14:27:42 |
| ¿como lo hago? | loenx | Conexión con bases de datos | 6 | 01-11-2003 15:26:34 |
| Como lo hago¿ | MANUEL OVAL | SQL | 6 | 31-10-2003 14:43:39 |
|