首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求思路/解决办法,两个网站数据同步

2012-12-30 
求思路/解决方法,两个网站数据同步.现在有A,B两个网站,其中A网站是没有源代码的,用的是Asp.net和SQL Serve

求思路/解决方法,两个网站数据同步.
    现在有A,B两个网站,其中A网站是没有源代码的,用的是Asp.net和SQL Server2000数据库,是一个电子商务网站.而B网站是Asp+Access技术,有源代码,B网站主要用于对A网站的拓展管理(后期购买的一个软件的后台).服务器是Windows Server 2003
    现在要求A网站中添加新用户或则用户在A网站购买商品后在B网站的数据库中自动生成一条记录.
    本来直接在A网站中注册或则购买商品的时候自动在B网站数据库中插记录是最简单的.不过没有A网站的源代码(也不能拿到~是几年前买的一个后台管理系统)
    帮我亲戚的一个网站弄的,我把我所有分都给你们了.给个思路吧..


[解决办法]
看看SQLServer数据库有没有异步触发的功能,不过,估计比较痛苦。
另外一个思路是:
写一个服务器监听程序,
要求A网站中添加新用户或则用户在A网站购买商品后在B网站的数据库中自动生成一条记录.
就监听这两种操作post以后,取相应的值,再执行到B数据库的操作。
[解决办法]
源 库:B  Asp+Access 有源码
目的库:A Asp.net和SQL Server2000 无源码
求解:  B库,insert时,A库也insert的
        B库,update时,A库也update的
        B库,delete时,A库也delete的

方法:建触发器

-- 现在假设当 本地 test 数据库 中的 表 t中插入记录行的同时向 局域网 245 的 hlldb数据库 的表t 插入相同的记录行,
-- 实现如下(用触发器实现)

-- Step 1 :创建链接服务器、及其登录授权(在本地 test数据库执行)
--创建链接服务器  
-- 示例代码:
-- exec sp_addlinkedserver'ITSV','','SQLOLEDB','远程服务器名或ip地址'  
-- exec sp_addlinkedsrvlogin'ITSV','false',null,'用户名','密码'  

-- 实际操作代码:
exec sp_addlinkedserver 'it245','','SQLOLEDB','192.168.1.245'  
exec sp_addlinkedsrvlogin 'it245','false',null,'sa','go2wan@szty'  

-- Step 2 :创建触发器(在本地 test数据库执行)
CREATE TRIGGER tr_in_t on [dbo].[t]
FOR INSERT
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON  
DECLARE @id INT,@name VARCHAR(20);
SELECT @id=id,@name=name FROM inserted;

INSERT INTO it245.hlldb.dbo.t(id,name) VALUES(@id,@name);
END

INSERT INTO t(id,name) values(1,'luoyoumou1');

热点排行