Configurar zeos
hola a todos club delphi, espero y puedan ayudarme como siempre lo han hecho.
tengo una base de datos en mysql, con delphi 7, para conectarlos me sugirieron que instalara zeos, ya lo hice si me aparece la paleta de zeos ya, vi en una pagina que hay que copiar los dll segun la version de mysql en windows/system, ya lo hice, copie de donde tengo la carpeta lib de donde tengo la carpeta de zeos, escogi el que dice libmySQL50.dll ya que tengo la version 5.0 de mysql, sin embargo coloco el componente zconnection en mi aplicacion,y lo configure asi: hostname =localhost, user=root password=la contraseña que tengo catalog = biblioteca. database=biblioteca(aunque se lo escribi, ya que no aparece nada) coloque un ztable, lo ligue con el zconnection, pero en tablename no me aparece nada que paso me salté o que hago:S, Saludos;) |
Mira si te sirve este sencillo y claro tutorial.
|
Por cierto ese tuto es mio...jijiji y creo que el único que he hecho...jajaja y por más cierto...ya andas duplicando hilos..jejeje
|
Te falta seleccionar el protocolo a usar, eso se hace usando la propiedad Protocol que en tu caso sería: Protocol=mysql-5 ;).
Prueba y nos comentas cómo te fué.;) Saludos...:) |
gracias por la ayuda, si me sirvio, esque no estaba eligiendo el protocolo correcto como vienen dos que empiezan con mysql uno dice mysql-5 y otro dice mysqld-5, estaba agarrando este segundo y por eso no me mostraba la base de datos.
otra pregunta, miren instale zeos porque en otro hilo preguntaba como conectar mi aplicacion a una base de datos que tengo en otra pc. ya instale el zeos, pero le tengo que indicar el numero de puerto tambien? o algo mas para que pueda conectar mi aplicacion a una base de datos que esta en otra pc. saludos |
Cita:
En el caso de que el servidor esté en otro host pues debes poner el nombre o la direccion IP del servidor en la propiedad Hostname ;). Cabe tambien tener en cuenta que para tener la conexion correcta con el servidor debes agregar el puerto u/o programa a conectarse ala excepciones del firewall, ya que puede ocurrir que te impida conectarte remotamente.;) Puede ocurrir tal ves algo paraecido con algun antivirus o algun otro cortafuego. Ésto lo debes hacer especialmente en la Maquina servidora(Donde corre MySQL) ;). Saludos...:) |
Cita:
¿Sabes que es uno de los documentos más descargados de mi web? ¿duplicando hilos? |
Orale ya me siento famoso...de hecho ya lo vi en varias webs...lo bueno es que no solo dice mi nick si no tb la dedicatoria a ustedes mis amigos...
|
ok ya lo puse aun no logro hacer la conexion a la b.datos de la otra maquina, tengo que estar en un mismo grupo de trabajo?, por ahora solo tengo conectadas las 2 pc's por cable cruzado y como le asigna una direccion ip, esa le estoy poniendo en la propiedad hostname del zconnection
|
Cita:
|
hola a todos, realmente estoy hhecha bolas, ya le puse al zconnection la dir. ip de la maquina donde tengo la BD. el usuario y contraseña, el protocolo,le escirbi el nombre de la BD en la propiedad database, pero en catalog no me da nada:( ayudenme porfavor:'(.
estoy conectada al otro pc atraves de un cable cruzado, no se porque no me sale:(. |
Se supone que en el que hace de servidor está mysql instalado y funcionando correctamente. También se supone que tienes conexión a ese servidor. También se supone que tienes abierto el puerto correspondiente a mysql.
También se supone que no tienes firewall activados y cerrando ese puerto en el servidor ni en el cliente. |
efectivamente, en la otra pc lo tengo instalado, el firewall desactivado y todo lo que comentas, bueno, seguire luchando
gracias por la ayuda amigos |
Se aceptan sugerencias Casimiro, como qué sugieres que podría detallar, la verdad ahi sí me siento con autoridad para hacer el tuto pues prácticamente es mi componente de cabecera para todo lo que he hecho desde que empece con bases de datos SQL. Sugiéreme temas y los hago con gusto.
|
Por ejemplo, un mantenimiento típico de altas/bajas/consultas/modificaciones explicado paso a paso con una conexión a servidor windows y otra conexión a servidor linux.
Que incluya el uso de querys, datasets, procedimientos almacenados, etc. y campos "normales" y algún blob del tipo imagen, por ejemplo. Echa un vistazo a este documento creado por la gente de zeos, está en inglés, así que tú lo harías en castellano :) |
¿Qué diferencia habría entre una conexión a un servidor Windows y una conexión a un servidor Linux? Según ya, da enteramente lo mismo.
// Saludos |
Cita:
Cita:
|
¡Ah! Es que, de hecho, es una cosa que siempre me ha llamado la atención cuando los veo hablar sobre firebird. Con MySQL, es totalmente indistinto puesto que el servidor se sitúa (por decirlo de alguna forma) entre el cliente y el sistema de archivos local, de manera que la conexión es, simplemente, a través de una dirección ip y un puerto, y el cliente es por completo ignorante de la ubicación física de los archivos.
// Saludos |
En firebird existen los alias, que supongo que será algo parecido a lo que comentas, en el componente le asignas ese alias y el usuario no puede saber dónde está la base de datos.
Yo no conozco zeos, salvo haber hecho algunas pruebecitas, así que no sé si alguna cosa que he dicho (o todas :D) son tonterías sin sentido. |
Cita:
Corríjanme si estoy errando.;) Saludos...:) |
¿Y cómo se le dice en mysql, por ejemplo, dónde está la base de datos?
|
Se le dice: base de datos. :D
Es decir, el servidor registra cada base con un nombre epecífico y simplemente proporcionas ese nombre. // Saludos |
Mmm. De hecho, con MySQL uno no se conecta a una base de datos, simplemente te conectas al servidor. La base de datos que se especifica en la conexión (y que puede omitirse) simplemente indica cuál es la base de datos a usar por defecto en las consultas SQL.
A diferencia de firebird, en MySQL puedes enlazar más de una base en una sola consulta sql y debes prefijar con el nombre de la base las columnas o tablas. Si omites la base, estarás usando la base por defecto y obtendrás un error si no especificaste una, pero, repito, esto último no es necesario, es decir, puedes omitir la especificación de la base en la conexión y hacer algo como
que te listaria todos los usuarios de la base de datos foros. // Saludos |
Estoy de acuerdo con rgstuamigo, cuando uno se conecta a un servidor la aplicacion solo le debe indica que instrucciones SQL debe de realizar y no le importa leches si la bd en realidad está en otro disco u otra máquina...Ese es el trabajo del motor. Tu nada mas le dices, listame esto, guardame aquello, borra esto y el motor sabe como actuar sin importar si corre en windows, linux o lo que sea. Esa es la clave. FB como que esta un poco atado todavía al sistema de archivos de donde corre, OJO...nadie ha dicho que es peor o mejor.
|
Cita:
Internamente MySQL crea los archivos necesarios para la Base de Datos en éste caso llamada "employees";) ,el servidor ya sabe donde. Si por decir queremos trabajar con otra base de datos diferente a la que estamos trabajando actualemte se puede usar la siguiente consulta SQL: . En el caso de los componentes Zeos, el componente TZConnection tiene una propieda llamada "DataBase" donde se puede especificar con que base de datos del servidor se va a conectar.;) Saludos...:) |
Entonces, si quiero poner una base de datos en /ventas/facturas.fdb y otra en /produccion/fabricacion.fdb y quiero que los ficheros temporales se creen en /almacen/temporales/ y las imágenes se guarden en /fotos/imagenes.fdb
¿No se puede hacer eso con mysql? |
Entiendo tu inquietud Casimiro, pero precisamente eso se trata de la filosofía de Escritorio tal cual como lo hace Access, aunque como lo he dicho antes se puede configurar(tiene un archivo de configuracion) a MySQL para que trabaje en el lugar(Algun otro host) y/o directorio(carpeta) que querramos, pues la filosofía de MySQL es orientada a tener un Directorio específico (tal cual lo hace un servidor Web, Apache por ejemplo) en el cual internamente MySQL va creando subdirectorios por cada Base de dato Creada, donde guardará los archivos especificos de cada base de datos.;) De ahí que MySQL sabe donde se encuentra el Path de cada base de datos, por lo cual para la aplicacion cliente no le hace falta poner la direccion donde está la base de datos, ya que el propio servidor es el encargado de gestionarlo y controlarlo.;).
Saludos...:) |
Curioso e interesante, todos los días se aprende algo.
|
Sí, es curioso esto de firebird. Si bien por un lado es un motor más robusto que MySQL, tal parece, como dice rgstuamigo, que tiene vestigios de las bases de escritorio. Conceptualmente, la única interacción del cliente con el motor debería ser la de mandar consultas SQL y recibir datos. Dónde y cómo se guarden los datos debería concernir exclusivamente al motor como algo interno. De hecho, por ejemplo, en una instalación normal de MySQL en unix, el directorio de datos está totalmente vedado a los usuarios; sólo root puede acceder a él.
// Saludos |
Y más curioso resulta teniendo en cuenta que firebird (interbase) proviene de sistemas unix, es ahí donde inició su historia.
En todas las instalaciones que realizamos siempre usamos un directorio para alojar las bases de datos y al que sólo puede entrar el servidor firebird y nadie más puede entrar en él. Pero es algo que hacemos manualmente otorgando los permisos pertinentes. La forma de cambiar entre bases de datos de mysql me ha recordado a dbase, cuando querías referenciar a otra tabla, "use clientes", "use ventas", etc. En fin, todo tiene sus cosas buenas y no tan buenas, no hay nada perfecto. |
Disculpen pero no entiendo de lo que dicen, como bien lo ha dicho Casi, en Firebird existen los alias y básicamente está para ocultar a los clientes la ubicación física y real de las bases de datos.
Luego, al realizarse la conexión sólo se "apunta" a dicho alias (que no es más que un simple nombre). El motor por detrás sabe donde están los archivos y al cliente poco y nada le interesa esto. Una vez conectado el cliente puede hacer cualquier operación sobre la base de datos. Le mandas consultas SQL para insertar, eliminar, actualizar y trabaja como cualquier otro motor. Y la verdad es que no interesa si está corriendo en un Windows, en un Linux, Mac o lo que fuese. ¿O es que no veo donde está el embrollo del que hablan? ¿Que tanto embrollo viene a cuento de si es \ o / en uno u otro SO? Para el cliente, si uno se limita a alias lo máximo que sabe es un pseudónimo.... Que es en un principio, el mismo funcionamiento que comentan en MySQL. Para el cliente es, imitando a roman: base de datos. Para el motor, ya se las verá él. Firebird además cuenta con parámetros y configuraciones adicionales para administrar los archivos a ciertos directorios, que dicho sea de paso es bueno seguir esta configuración. Están los parámetros DatabaseAccess, ExternalFileAccess, UdfAccess, TempDirectories (al menos en 1.5, es posible que en FB 2+ existan otros más). El hecho de no poder realizar consultas a dos o más DB simultánamente, si se debe a la forma en como se conecta, eso si lo admito. Pero les recuerdo que a partir de 2.5 esto ya es posible ya que se ha modificado como se lleva a cabo la conexión y además se ha mejorado enormemente la comunicación y el protocolo. Esto supuso un cambio enorme en lo que respecta a seguridad y manejo de archivos. Mucho se dice que FB depende mucho de la seguridad física y el acceso al sistema de archivos, y son cosas que siempre los ha tenido en cuenta el equipo de Firebird, y están trabajando en ello. ¿Pruebas? Firebird 2.5 y 3.0 que si bien están en desarrollo, para la 2.5 ya se puede dar el disfrute muy a pesar de estar su RC (Release Candidate) 2. Tengan en cuenta por favor que la intención de FB fue de ejecutarse en servidores dedicados. Tal vez en esto les resulte inseguro, pero FB ofrece otros medios de seguridad, y si se los sigue se puede dormir más tranquilo. FB está en movimiento, lento quizá, pero sigue. No tiene tantos medios como los que tiene MySQL gracias a Sun. Disculpen si largo una piedra, pero ¿y que me dicen de la confusa licencia que tiene MySQL y de su incierto futuro? Vamos, que si para encontrar escusas para no usar u otra, tenemos para rato. Saludos, |
Ya digo, me parece curioso la forma en que trabaja mysql, aunque sigue gustándome la forma en que lo hace firebird. Que a fin de cuentas tiene la forma de mysql (mediante alias) y la "normal" típica de especificar servidor:/ruta/basedatos
Por cierto, mysql ya no es de Sun, ahora lo compró Oracle. |
Cita:
Ya corrijo. EDITO: ¿Porqué no puedo editar el post anterior? Sólo me permite editar éste. Saludos, |
MySQL no accede por medio de alias sino directamente al catálogo de bases. De lo que aquí hablamos es justamente de lo curioso que resulta que Firebird siga (en ese aspecto) la "filosofía" de las bases de escritorio como hacían Paradox o Access en los que hay una referencia directa al archivo físico que contiene la base (o las tablas), aun cuando se oculte tras un alias.
Por otro lado, sólamente hablamos de eso, de lo curiosas que resultan determinadas cosas en uno u otro motor (como el uso del use que menciona Casimiro). No hay ni embrollo ni debate ni una pugna por decir este es mejor, este es peor ;) // Saludos |
Cita:
|
Cita:
Cita:
Cita:
Puedo entender la idea de que sea por cuestión de seguridad, pero es bueno (en ciertas circunstancias) poder editar el mensaje aún expirado ese tiempo. Saludos, |
Cita:
Están los partidarios y los detractores :), yo pienso que no debe poder modificarse pasado un tiempo, y si hace falta modificar algo se añade mediante otro post y listo. En este caso se puso por un motivo de seguridad, antes no estaba habilitado, pero no quedó otro remedio. Tal vez, cuando todo se "suavice", pueda volver a dejarse como estaba. |
La franja horaria es GMT +2. Ahora son las 02:45:31. |
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