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

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

13 个解决方案

#1


该回复于2012-01-04 15:07:04被版主删除

#2


每天回帖即可获得10分可用分

#3


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

#4


在A数据库中加触发器

#5


引用 4 楼 yl0002 的回复:
在A数据库中加触发器

能说详细点么?

#6


引用 4 楼 yl0002 的回复:
在A数据库中加触发器

最主要另外一个数据库是access的.

#7


不是3倍工资么?

#8


数据库的啊

#9


该回复于2012-01-04 12:56:24被版主删除

#10


数据库之间是完不成这种功能 只能程序之间互相调用接口

#11


看看SQLServer数据库有没有异步触发的功能,不过,估计比较痛苦。
另外一个思路是:
写一个服务器监听程序,
要求A网站中添加新用户或则用户在A网站购买商品后在B网站的数据库中自动生成一条记录.
就监听这两种操作post以后,取相应的值,再执行到B数据库的操作。

#12


源 库: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');

#13


你有源库的源码
方法2:那就在代码中,连接两个数据库,直接 insert,update,delete呗

#1


该回复于2012-01-04 15:07:04被版主删除

#2


每天回帖即可获得10分可用分

#3


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

#4


在A数据库中加触发器

#5


引用 4 楼 yl0002 的回复:
在A数据库中加触发器

能说详细点么?

#6


引用 4 楼 yl0002 的回复:
在A数据库中加触发器

最主要另外一个数据库是access的.

#7


不是3倍工资么?

#8


数据库的啊

#9


该回复于2012-01-04 12:56:24被版主删除

#10


数据库之间是完不成这种功能 只能程序之间互相调用接口

#11


看看SQLServer数据库有没有异步触发的功能,不过,估计比较痛苦。
另外一个思路是:
写一个服务器监听程序,
要求A网站中添加新用户或则用户在A网站购买商品后在B网站的数据库中自动生成一条记录.
就监听这两种操作post以后,取相应的值,再执行到B数据库的操作。

#12


源 库: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');

#13


你有源库的源码
方法2:那就在代码中,连接两个数据库,直接 insert,update,delete呗