SqlServer實時數據同步到MySql


下載網站:www.SyncNavigator.CN 
 客服QQ1793040
----------------------------------------------------------


關於HKROnline SyncNavigator 注冊機價格的問題

 

 

HKROnline SyncNavigator 8.4.1 非破解版 注冊機 授權激活教程
 

 

—安裝安裝mysqlconnector
http://www.mysql.com/products/connector/
/*
配置mysqlconnector

ODBC數據管理器->系統DSN->添加->mysql ODBC 5.3 ANSI driver->填入data source name如jt,mysql的ip、用戶名、密碼即可
*/
–新建鏈接服務器
exec sp_addlinkedserver
@server=’MySqll_Aggregation’,–ODBC里面data source name
@srvproduct=’MySql’,–自己隨便
@provider=’MSDASQL’,–固定這個
@datasrc=NULL,
@location=NULL,
@provstr=’DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=172.17.29.33;DATABASE=bi;UID=zhaowenzhong;PORT=3306;’,
@catalog=NULL
—創建連接mysql數據庫的賬號及密碼
exec sp_addlinkedsrvlogin
@rmtsrvname=’MySqll_Aggregation’,—-ODBC里面data source name
@useself=’false’,
@rmtuser=’zhaowenzhong’,—mysql賬號
@rmtpassword=’mysqldba@2015′;–mysql賬號其密碼
—測試是否可以訪問mysql數據庫中的表
select * from openquery(MySqll_Aggregation,’SELECT * FROM tb; ‘)
—–建立允許遠程訪問連接操作
USE [master]
GO
EXE Cmaster.dbo.sp_serveroption@server=N’MySqll_Aggregation’,@optname=N’rpc out’,@optvalue=N’TRUE’
GO
EXEC master.dbo.sp_serveroption@server=N’MySqll_Aggregation’,@optname=N’remote proc transaction promotion’,@optvalue=N’false’
GO

–建立LOOPBACK 服務器鏈接
EXEC sp_addlinkedserver@server=N’loopback’,@srvproduct=N’ ‘,@provider=N’SQLNCLI’,
@datasrc=@@SERVERNAME
go
–設置服務器鏈接選項,阻止SQL Server 由於遠過程調用而將本地事務提升為分布事務(重點)
USE [master]
GO
EXEC master.dbo.sp_serveroption@server=N’loopback’,@optname=N’rpc out’,@optvalue=N’TRUE’
GO
EXEC master.dbo.sp_serveroption@server=N’loopback’,@optname=N’remote proc transaction promotion’,@optvalue=N’false’
GO
—編寫觸發器和存儲過程
–insert
CREATE TRIGGER TR_INSERT_TB ON  DB_TY2015.DBO.TB
FOR INSERT
AS
DECLARE@ID INT,
@QTY INT
SELECT@ID=ID,@QTY=QTY FROM INSERTED;
BEGIN
EXEC loopback.db_ty2015.dbo.sp_insert@id,@qty;
END
CREATE PROCEDURE SP_INSERT
@ID INT,
@QTY INT
AS
BEGIN
SET NOCOUNT ON
INSERT OPENQUERY(db_ty2015,’select * from tb’)(id,qty) values (@id,@qty);
SET NOCOUNT OFF
END

—update
CREATE TRIGGERT R_UPDATE_TB ON DB_TY2015.DBO.TB
FOR UPDATE
AS
DECLARE @ID INT,@QTY INT
SELECT@ID=ID,@QTY=QTY FROM INSERTED;
BEGIN
EXEC loopback.db_ty2015.dbo.sp_update@id,@qty;
END

CREATE PROCEDURE SP_UPDATE
@ID INT,
@QTY INT
AS
BEGIN
SET NOCOUNT ON
UPDATE OPENQUERY(db_ty2015,’select * from tb’) SET qty=@qty WHERE id=@id
SET NOCOUNT OFF
END

–delete
CREATE TRIGGER TR_DELETE_TB ON DB_TY2015.DBO.TB
FOR DELETE
AS

DECLARE @ID INT
SELECT@ID=ID FROM DELETED;
BEGIN
EXEC loopback.db_ty2015.dbo.sp_DELETE@id;
END

CREATE PROCEDURE SP_DELETE
@ID INT
AS
BEGIN
SET NOCOUNT ON
DELETE OPENQUERY(db_ty2015,’select * from tb’) WHERE id=@id
SET NOCOUNT OFF
END

——-初始化數據     表已存在的情況
insert  into  penquery(MySqll_Aggregation,’select * from bi.tb’) select*from[FSLogin].[dbo].[tb]with(nolock)
—從mysql同步表結構及數據到sqlserver上
select * into  [SqlServerDBName].dbo.MYTest  from   openquery(localmysql,’select * from mysqldbname.weibosession’)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM