Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Enlazar Bases de Datos (http://www.forosdelweb.com/f86/enlazar-bases-datos-548160/)

Maxios 14/01/2008 17:34

Enlazar Bases de Datos
 
Esto es lo que me ha dicho el hosting que tengo que hacer:

Las bases de datos son independientes, por lo que si cambia la base de datos asociada a su foro, le mostrará el contenido alojado en la base dedatos asociada al mismo. Si desea mostrar el contenido de las distintasbases de datos deberá enlazarlas mediante programación.

Alguien me podría decir como hacerlo sin perder la información que contiene ya el foro ?

Tengo 5 bases de datos de MySQL de 100mb cada una.

Saludos y muchas gracias.

gnzsoloyo 15/01/2008 05:58

Re: Enlazar Bases de Datos
 
En esencia, si vas a programar en PHP, .NET o lo que fuese, significa que deberás manipular el código para crear diferentes objetos de conexiones para cada una de las bases que quieres abrir, y crear una gran parte de las consultas en la misma aplicación, mediante la combinación de los resultados obtenidos en cada base.
Por otro lado, si el motor es uno solo (MySQL), simplemente debe indicarse la lectura de las tablas ubicando la dirección correcta, según el estándar:
Código:

SELECT * FROM NOMBREBASE.NOMBRETABLA;
Programar así es un poco hartante, por lo que debes usar ALIAS para evitar confusiones y errores de codificación.

_kai_ 15/01/2008 07:21

Re: Enlazar Bases de Datos
 
Si, esa característica de MySQL es muy útil, peeeeero, sólo lo puedes hacer si las bases de datos están en el mismo servidor.

Maxios 15/01/2008 08:12

Re: Enlazar Bases de Datos
 
Me gustaría que me lo explicarais un poco mejor, las bases de datos y todo, lo tengo contratado en el hosting 1and1. Soy nuevo en esto y me gustaría aprender a hacerlo. Agradezco que me digais si me tengo que bajar algún programa, o desde el mismo panel lo puedo hacer.

Saludos :)

Edito: Si entro en la bs mediante MyPhpAdmin, a la iqzuierda me aparece una lista de "categorias?" como esta:

Examinar: (1 Filas) smf_ads
Examinar: (0 Filas) smf_ads_settings
Examinar: (25 Filas) smf_attachments
Examinar: (1 Filas) smf_ban_groups
Examinar: (4 Filas) smf_ban_items
Examinar: (75 Filas) smf_boards

Si le doy encima ponen eso de SELECT * FROM y con este modelo:

SELECT * FROM `smf_moderators` WHERE 1

Espero que os sirva para poder ayudarme ^^

Saludos !

Maxios 15/01/2008 14:05

Re: Enlazar Bases de Datos
 
Porfavor me urge a ver si alguien me explica :S

hualro 16/01/2008 00:02

Re: Enlazar Bases de Datos
 
Hola Maxios, por lo que entiendo tienes 5 bases de datos lo más importante para enlazarlas es que estén en el mismo servidor ya que si están en diferentes servidores va a ser difícil que las puedas enlazar porque generalmente los servidores web comerciales no dan acceso a las bases de datos desde otros hosts que no sean los locales. Pero si están en el mismo servidor es fácil mediante el ejemplo que pone

gnzsoloyo:
SELECT * FROM NOMBREBASE.NOMBRETABLA;

Ten en mente también que el usuario por el que te conectas debe tener privilegios sobre cada una de las bases.

Saludos!

hualro 16/01/2008 00:04

Re: Enlazar Bases de Datos
 
Puedes echarle un ojo a:

http://www.emagister.com/tutorial/tu...matica-555.htm

Maxios 16/01/2008 09:18

Re: Enlazar Bases de Datos
 
Bueno, he creado la nueva base de datos de 100mb y ya tengo acceso a ella mediante myphpadmin y eso, supongo que la tendré que enlazar por ahí no ? Lo de:

SELECT * FROM NOMBREBASE.NOMBRETABLA;

Dónde tendría que pones eso ? Esque en estos temas ando más que perdido :S Nombre de la base de datos, lo tengo, y en nombre de tabla qué tendría que poner ?

Aquí os dejo dos pantallazos del panel de la base de datos vacía que quiero enlazar, a ver si me echais un cable :)

http://img135.imageshack.us/img135/9136/bdbp0.png

http://img225.imageshack.us/img225/5381/bd2yb0.png

Saludos !

Maxios 16/01/2008 15:48

Re: Enlazar Bases de Datos
 
Me urge porfavor, agradezco muchísimo cualquier tipo de ayuda, no se donde tocar ni donde tengo que poner SELECT * FROM NOMBREBASE.NOMBRETABLA; :S

Saludos y gracias

Maxios 17/01/2008 08:31

Re: Enlazar Bases de Datos
 
Nadie ? :(

Maxios 19/01/2008 07:40

Re: Enlazar Bases de Datos
 
Vamos alguien tiene que saberlo.. :S

gnzsoloyo 19/01/2008 10:27

Re: Enlazar Bases de Datos
 
Por el código:
Código:

SELECT * FROM NOMBREBASE.NOMBRETABLA;
me refiero a que ese es el modelo a respetar en TODAS las consultas que creas. Esto es, supongamos una consulta que pretende enlazar mediante un INNER JOIN datos de tablas en 5 bases distintas:
Cita:

SELECT base1.campo1, base2.campo2, base3.campo3, base4.campo4, base5.campo5 FROM base1.tabla1 INNER JOIN base2.tabla1 using (campo1) INNER JOIN base3.tabla1 USING (campo2), INNER JOIN base4.tabla1 USING (campo3) INNER JOIN base5.tabla1 USING(campo4);
Aclaro que nunca uso tantos INNER JOIN encadenados si puedo evitarlo, por lo que puede haber un error en la sintaxis, pero de todos modos representa la idea.
Asimismo, si quisieras hacer una subconsulta dentro de otra entre dos bases el resultado sería:
Cita:

SELECT A, B, T1.C FROM BASE1.TABLA1 JOIN (SELECT C FROM BASE2.TABLA3) AS T1 USING (C);


La zona horaria es GMT -6. Ahora son las 04:36.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.