考慮‘MySQL如何去鏈接遠程SQL’ 這個問題已經考慮了大半月了,這之前一直糾結於想找出類似於我做‘SQL 如何鏈接 遠程MySQL’的那種直接的方法,找到一個合適的接口。
但努力了那麼久,還是失敗了,所以我想到另一個方法去實現相同的結果,當在MySQL中插入一條記錄時,遠程的SQL會插入一條相同的記錄。
鑒於之前我已經做出了‘SQL 如何鏈接 遠程MySQL’,
(相應博客地址:http://www.cnblogs.com/guolebin7/archive/2010/08/21/1805162.Html)
我用了兩個觸發器,一個存儲過程,一個作業完成了相同的效果。
(我用一張圖來闡述了我的做法)
代碼/*①的代碼*/
/*MySQL的觸發器寫法*/
delimiter//
create trigger insert_mysql_test before insert on MySQL_test
for each rowbegin
insert into MySQL_tem set tem_id = new test_id , tem_name = new test_name;
/*new後面的id,name是MySQL_test表的字段名*/
end//
/*MySQL的觸發器寫法*/
代碼
/*②的代碼*/
/*鏈接的存儲過程*/
use kk
go
create procedure select_x
as
insert into sql_tem(x_id,x_name) select * from openquery(GLB, 'select x_id,x_name from MySQL_tem')
delete from sql_tem
delete openquery(GLB, 'SELECT * FROM MySQL_tem')
go
/*鏈接的存儲過程*/
/*③的代碼*/
/*建立在sql_tem表上的觸發器*/
create trigger tr_insert_tem on sql_tem
for insert
as
insert into sql_test
select * from inserted
go
/*建立在tem表上的觸發器*/
<補充>關於那個作業,我用的是SQL Server2005的可視化做的,它最重要的操作就是定時執行'exec select_x'這個操作。(執行存儲過程)
加一個截圖給大家看一下,同時在SQL 2000的企業管理器中也可以找到。