Acceder a MySQL desde SQL Server

octubre 19, 2008 at 23:57 5 comentarios

Aplicable a Windows XP

Necesitaba acceder a una base de datos MySQL que se encuentra en otro edificio del que yo trabajo y como la herramienta que usamos para administrar bases de datos es el SQL Server de Microsoft (que a mí gusto siempre es mejor usar opciones libres), lo que hice fue crear un servidor vinculado para poder generar consultas distribuidas.

A continuación detallo el proceso que seguí para conseguirlo, tal vez le ahorre tiempo a alguien más.

Crear el Origen de Datos

  1. Descargar el driver de conexión hacia MySQL desde La página de MySQL (http://dev.mysql.com/downloads/connector/odbc/) e instalarlo.
  2. Ir a panel de control -> Herramientas administrativas -> Orígenes de Datos (ODBC), se abrirá una ventana.
  3. crear origen de datos odbc

  4. Pasarse a la ceja (tab) “DSN de sistema” (puede agregarse también el origen de datos como DSN de usuario pero yo quería que estuviera disponible para todos los usuarios).
  5. Click en el botón “Agregar”, se abrirá una nueva ventana.
  6. lista de origenes de datos

  7. De la lista desplegable de controladores escoger MySQL ODBC Driver, click en “Finalizar”, se abrirá otra ventana.
  8. configurar el odbc

Ahora deberemos configurar el origen de datos que recién creamos:

En “Data Source Name” ponemos el nombre de la fuente de datos que deseamos utilizar (es decir lo que sea): miFuentedeDatos

En “Description” ponemos lo que sea, recomiendo: mysql

En “Server” el nombre del servidor al que queremos acceder: miServidor

En “User” ponemos el usuario con el que nos conectamos: miUsuario

En “Password” va la contraseña correspondiente: miPass

En “Database” el nombre de la base de datos a la que queremos acceder: miBaseDatos

Damos click en “Test” para verificar la conexión, una vez comprobada damos click en “OK”, luego click en “Aceptar”, ya hemos creado y configurado la fuente de datos.

Ahora sigue el trabajo desde SQL Server, desde el management studio:

Abrir una nueva consulta (conectada al servidor dónde acabamos de crear el origen odbc) y agregamos el siguiente comando:


EXEC master.dbo.sp_addlinkedserver
@server = N'miServidorVinculado', @srvproduct=N'mysql', @provider=N'MSDASQL', @datasrc=N'miFuentedeDatos', @provstr=N'DRIVER={MySQL ODBC 3.51 Driver}; SERVER=miServidor; DATABASE=miBaseDatos; USER=miUsuario; PASSWORD=miPass; OPTION=3'

Se deben ajustar los valores para que concuerden con los valores anteriormente configurados en el origen de datos odbc y luego correr la consulta (se necesitan tener la función del servidor serveradmin disponible para que el usuario pueda crear el servidor vinculado).

Note también que la versión aquí utilizada es MySQL ODBC 3.51 Driver, debe cambiarse este valor si se utiliza otra versión.

También puede encontrar cadenas de conexión en: www.connectionstrings.com

Por último, probar la conexión a través del uso de la instrucción OPENQUERY:


SELECT * FROM OPENQUERY(miServidorVinculado, 'SELECT * FROM miTabla')

}:)

setas

Enjoy!

Entry filed under: bases de datos. Tags: , , , , , .

Crear banner degradado con el Gimp

5 comentarios Add your own

  • 1. jakartgs  |  julio 26, 2011 en 15:43

    gracias amigo tu trabajo es excelente necesitaba esta información y me ayudo muchisimo.

    Jakartgs

    Responder
  • 2. JoseM  |  marzo 21, 2012 en 10:33

    Gracias!, muy bueno. Ademas el tuyo anda y el que haces con el wizard de SQL 2008 No!

    Responder
  • 3. Mauricio Oswaldo  |  junio 26, 2012 en 11:04

    Me salvaste el día viejo!! Mil gracias man, por si alguien tiene dudas, éstos mismos y sencillos pasos funcionan con Windows 7 Ultimate de 32 bits y SQL Server 2012, lo digo porque acabo de hacerlo.

    Responder
  • 4. R.Alonso  |  agosto 17, 2012 en 15:20

    Por fin veo algo bien explicado y que funciona a la primera.

    Yo añdo que para pasarte ciertos datos a tu base de datos, por ejemplo tener el esquema en tu base de datos, luego se puede user un SELECT * INTO sin problema.
    Es evidente, pero por si acaso:

    SELECT * INTO TABLA_SCHEMA FROM OPENQUERY(SERVIDORVINCULADO, ‘ SELECT * FROM information_schema.columns WHERE table_schema=”TablaACapturar”’)

    Ojo con las comillas dobes en el table_Schema = COMILLAS COMILLAS VALOR COMILLAS COMILLAS
    El copiar y pegar a veces falla al pillarlo de la WEB.

    Responder
  • 5. A!  |  septiembre 24, 2013 en 11:55

    Gracias ! (Y)

    Responder

Dejáte un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Digo yo

Que dura está la vida

Dice Jhon Lennon

La vida es lo que pasa mientras haces planes

Digo yo

Dónde haya un computín esté dónde esté algo comenzará en cero

Acerca de Mi:


Hell-Out world!!

Dice Einstein

Dios no juega a los dados

Dice Niels Bohr

Einstein no le diga a Dios lo que tiene que hacer

Dice el Che:

Seamos realistas y hagamos lo imposible.

Dice Goethe:

Lo que no comprendemos no lo poseemos.

Digo yo:

Hay que tratar de travesear todo

Dice Oscar Wilde:

Cualquier hombre puede llegar a ser feliz con una mujer, con tal de que no la ame.

Digo yo:

De fijo dijo eso porque era homosexual.

Artículos

octubre 2008
L M X J V S D
    Nov »
 12345
6789101112
13141516171819
20212223242526
2728293031  

A %d blogueros les gusta esto: