一个关于存储过程和INSERT INTO OPENROWSET()的问题,高手来看,高分求助!

xyn_ld xyn_ld 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我写了一个存储过程,功能是实现从SQL SERVER 数据库备份一些表到ACCESS数据库,两个数据库都在远程就算机上,因为服务器上放了多个用户的数据库,所以备份的时候需要根据数据库的名称生成对应的文件夹。我在服务器的C盘下放了一个BAK文件夹,文件夹下有一个事先做好的备份的ACCESS的数据库模板,里面是一些空白表格。我用第一种方法如下:先根据数据库的名称在BAK下生成一个对应名字的文件夹,然后把BAK下的数据库模板拷贝到生成的文件夹下,接着开始写数据库,用INSERT INTO OPENROWSET('Microsoft.Jet.oledb.4.0','c:\bak\dbname\*.mdb','admin','',select 列 from A表) select * from sql表。写完以精确到妙的时间作为文件名重命名文件。这种方法的问题是,由于服务器的名字是不确定的,所以,中间的路径名是个变量,我用了个变量@ls_addr,但是该语句根本就不识别变量;后来我用了第二种方法,先在BAK下建一个TEMP文件夹,在这里面也事先放一个数据库模板,然后每次备份的时候,先把 模板拷贝到TEMP下覆盖原来的文件,然后写数据库,然后把写好的数据库文件,拷贝到生成的数据库名对应的文件夹下,重命名.这种方法可以不用变量就实现备份,但是问题是,因为用多个库在一个服务器上,这就会出现多个用户同时备份,同时往同一个数据库文件,就是TEMP文件夹下的那个文件写数据,这样也会出现严重的问题.

各位高手帮帮忙拉,看我这个问题怎么可以解决,解决成功赠100分!谢谢!
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
xyn_ld
MS-SQL Server 34,876 成员 254,635 内容