1、MSSQLSERVER有很强的复制功能,像你这种情况,把上级服务器配置成分发者,下级配置成订阅者,连上网后,自动更新,也可以配置成手动更新,但有个问题要注意:如果你拨号不是拨自己的服务器(即上网后不是同网段)需要配置服务名
2、根据你的程序制定了:)
2、根据你的程序制定了:)
解决方案 »
- SSIS 小问题
- .dat数据还原后程序连不上的问题
- 这个怎么统计?
- 请问 一个数据库 有两个DATA文件 怎么删除其中一个??
- 乱码如何解决
- 强大的CSDN帮我看下这怎么解决,安装SQL management studio2008 管理工具-基本 失败
- 怎么设置用户权限??请帮忙
- 紧急求救!!!SQLserver2000数据库中的表被误删,请高手施救!!!在线急等。
- 求了解订阅发布的高手帮忙:)
- 系统统表 syscolumns 和 systypes
- 我在我的程序中调用存储过程,当我把程序关闭后服务器上的sqlserver.exe进程占用CUP资源还是50%以上,为什么,如何结束掉它?
- 这个查询简单吗?征集最佳方案......
4、原来我们给海关作过一个,与这个类似,最后我的解决方法不是按我的回答来的:)因为网络特殊性,我是这样做的
===============
大部分功能作一个同步程序,把本地数据导出为一个ACCESS,通过FTP上传至服务器,服务器导入数据,并生成要分发的数据包,供下级下载,由下级同步程序下载并更新数据库
如:1 未传传输,2 已上传把文本传到其他服务器,这个可以用软件写个传输文件程序,取指定服务器目录内的文件,再用过程导入数据库,导入时进行数据过滤
程序可以这样写过程 比如表名叫table 状态字段为state (1 未传传输,2 已上传)CREATE PROCEDURE sp_convert --数据转换过程
with recompile ,encryption
as
declare
@bcp varchar(600),
@path char(100),
@file char(200),
@user char(10),
@mdate char(8)
@mdept char(5),
@passwd char(8)
if @@TRANCOUNT >0
COMMIT TRAN
select @user=suser_name()
select @passwd=password from login where code=ltrim(rtrim(@username)) --用户登录表
select @path=ltrim(rtrim(up_path))+'download\'
from parm --运行参数表 包括文件传输路径
select @mdate=convert(char(8),cast(open_close as datetime),112)
select @file='file'+@mdate 得到带日期的txt文件
--convert data to txtselect @bcp='bcp "select * from dbname..table where state=1 " queryout '+ltrim(rtrim(@path))+ltrim(rtrim(@file))+'.txt'+' -c -t, -U '+@user+'-P '+@passwd --选择未传输数据导出
exec master..xp_cmdshell @bcp
begin tran
update dbname..table set state=1 where ct_state=1 --更新状态
commit tran
CREATE PROCEDURE sp_copyfile --文件copy过程
with recompile,encryption
as
declare
@path char(100),
@copy char(300),
@user char(10),
@passwd char(8),
@bcpname char(300)if @@TRANCOUNT >0
COMMIT TRAN
select @usere=suser_name()
select @passwd=password from login where code=ltrim(rtrim(@username))
select @path=ltrim(rtrim(up_path))+'upload\' from parm
--copy files to servers
select @copy='copy '+ltrim(rtrim(@path))+'file*.txt '+ltrim(rtrim(@path))+substring(convert(char(8),getdate(),112),7,2)
exec master..xp_cmdshell @copy
select @copy='del '+ltrim(rtrim(@pathname))+'file*.txt' --copy完成删除文件
exec master..xp_cmdshell @copyname
if @@TRANCOUNT >0
COMMIT TRAN
return