Crear un linked server desde MSSQL a MySql

1. Crear un ODBC en el servidor de base de datos, que apunte a MySql (usar el cliente de MySql ODBC 5.1)

2. Crear el linked server en MSSQL con este script (revisar usuario y password)

/****** Object: LinkedServer [MySql] Script Date: 03/26/2012 14:17:36 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'NOMBRE_DEL_LINKED_SERVER', @srvproduct=N'NOMBRE_DEL_LINKED_SERVER', @provider=N'MSDASQL', @datasrc=N'NOMBRE_DEL_LINKED_SERVER', @provstr=N'DRIVER={MySQL ODBC 5.1 Driver};SERVER=SERVIDOR_MYSQL;PORT=PUERTO_MYSQL;DATABASE=NOMBRE_BASE; USER=usuario;PASSWORD=password;OPTION=3;'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'NOMBRE_DEL_LINKED_SERVER', @optname=N'use remote collation', @optvalue=N'true'


3. Ir a sql y probar el linked server:

select * from openquery(NOMBRE_DEL_LINKED_SERVER, 'select * from tabla_de_mysql')

4. Importacion de datos:

SELECT * INTO base_sql.dbo.nombre_de_tabla FROM openquery(NOMBRE_DEL_LINKED_SERVER, 'SELECT * FROM tabla_mysql');



No hay comentarios:

Publicar un comentario