Como hacer un Link Server desde SQL Server hacia MySql
| June 21, 2009 | Posted by royrojas under Bases de Datos, General, Programación |
Para poder hacer consultas desde SQL Server hacia MySql es necesario hacer un Link Server, esto es genial también para poder migrar de una base de datos a otra.
Una de las grandes ventajas que se obtiene al utilizar link server es que se pueden manipular los datos remotos como si estuvieran en el servidor principal, datos que están en Oracle o en MySql, manipularlos como si estuvieran en una base de datos SQL Server.
Para poder crear el link server hacia MySql vamos a seguir los siguientes pasos
- Instalar el MySql Driver 3.51 o superior, ya se encuentra disponible el driver 5.1
Lo puedes descargar directamente de la página de MySqlhttp://dev.mysql.com/downloads/connector/odbc/3.51.html - Verificar que tengamos instalado el Microsoft Data Access Components (MDAC) 2.8
Lo puedes descargar directamente en la página de Microsofthttp://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=en - Ahora vamos a Microsoft SQL Management Studio, abrimos una nueva pantalla de query (New Query), nos aseguramos de estar trabajando en la base de datos master, y copiamos el siguiente scriptUSE master
EXEC master.dbo.sp_addlinkedserver @server = N’MYSQL’,
@srvproduct=N’MYSQL’, @provider=N’MSDASQL’,
@provstr=N’DRIVER={MySQL ODBC 3.51 Driver}; SERVER=NombreIPServidorMySQL;
DATABASE=NombreBaseDatos; USER=LoginUsuarioBD; PASSWORD=ClaveUsuarioBD; OPTION=3′Le cambiamos los parametros correspondientes a nuestra conexión hacia MySql, como Nombre de Servidor o IP, Nombre de Usuario, Clave de Usuario y ejecutamos el script
Ahora que ya ejecutamos el script, el link server hacia la base de datos MySql está creado, y para probarlo solamente sería necesario hacerle un select desde el SQL Management Studio a una tabla en la base de datos MySql, por ejemplo:
select * from openquery(MYSQL,’select * from tablaMySql’)
Buenas tardes, hice una prueba y me marca un error el error es el sig:
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider ‘MSDASQL’ reported an error.
[OLE/DB provider returned message: [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especific ningn controlador predeterminado]
me podrias ayudar?
instalaste el driver correcto?
si haces un ODBC manual, te funciona la conexion a la BD Mysql?
roy ami me funciono correctamente segui todos los pasos y todo ok muchas gracias por el aporte pero mi gran pregunta es si aparte de consultar puedo hacer un insert o un update…. favor responderme a mi mail mil gracias
claro que puedes hacer un insert o update, ya que este link server por debajo vendria a funcionar como un odbc.