当前位置:主页>仓库管理软件> 列表

数据库备份---远程备份到本地 找金蝶财务软件多少钱

销售管理软件版1楼: 我想利用SQL脚本来实现远程L数据库服务器备份到本地,那位大哥能不能给点提示啊!
begin
try
Winexec(pchar(''net share test=''+''d:\text''),SW_HIDE);
except
on E:Exception do
Application.MessageBox(pchar(E.Message),''Net share ERROR'');
end;
try
Winexec(pchar(''net use \\192.168.0.1\test /user:administrator''),SW_HIDE);
except
on E:Exception do
Application.MessageBox(pchar(E.Message),''Net Use ERROR'');
end;
try
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Text:=''backup database tsdata to disk=''+quotedstr(''\\192.168.0.1\test\tsdata.bak'');
AdoQuery1.ExecSQL;
except
on E:Exception do
application.MessageBox(pchar(E.Message),''Backup ERROR'');
end;
end;
注:上面IP是本地IP在这程序前以和对方数据库连接上了,但是总报错说无法打开 备份设备\\192.168.0.1\test\tsdata.bak'',请大家帮我看看,谢谢

2楼: 备份就我所知,是只能在本地的。
你可以在本地备份完毕后,将备份文件拷贝到远程机器上。 如管家婆财务软件

3楼: 如果要备份到远程机器上的话,要保证能够访问到远程机器,也就是要先登录一下远程机器,论坛上有相应的帖子,你可搜一下!!

4楼: 我也想知

5楼: 如果你的数据库是ORACLE的话,在远端机上的CMD下用这个命令

exp 用户名@服务器名

然后照做就可以把远端数据库的数据备份到本地了

6楼: win2000 没戏!win98也许可以

销售管理软件版7楼: 备份是只能在本地的。
你可以在本地备份完毕后,将备份文件拷贝到远程机器上。

8楼: 不着急,张大哥为你提供2个解决方按,10点左右

9楼: 目标:把其它服务器上备到本机

假设我们不知道,服务器的用户名称,密码
当然,我们知道自己的!



思路一

exec master..xp_cmdshell ''net use \\10.181.215.85\test /user:administrator''
backup database ddczp_test to disk=''\\10.181.215.85\test\ddczp_test.bak''

思路二,如果是自己单位服务器,必然有共享目录,弄一个remott.exe上去

exec master..xp_cmdshell ''remott.exe \\10.181.215.85\test /user:administrator''
backup database ddczp_test to disk=''\\10.181.215.85\test\ddczp_test.bak''


remott.exe:思路
ZeroMemory(@nr, sizeof(nr));

nr.dwType := RESOURCETYPE_ANY;
nr.lpLocalName := '''';
nr.lpProvider := '''';
nr.lpRemoteName := ''\\192.168.0.89'';

lpuser := ''vssuser'';
lppwd := ''login'';

rv := WNetAddConnection2(nr, lppwd, lpuser, 0);


思路三
我们公司开了,服务器上共享受目录,显然,我们也有登陆共享受目录密码
显然,可以backup到那里,在从那里拷贝回来

目标:我在internet 上别人服务器上申请网站,有自己的user,pwd,
我可以在自己库里任意写procedure,
显然,我可以使用企业管理器backup弄回来!
显然,他们也给我了我自己的web,文件夹,可以ftp 上传,当然,我也可以做网络映射,
当然,我也可以ftp 到自己的计算机,我也可以配ftp服务(哈哈,不可以,因为我
没有公网ip)

当然,我通过asp pathmap(''./51merit.mdb'') 也知道我的文件在c,d,e具体的位置

如何做个全自动,把他backup到我的计算机!

10楼: exec master..xp_cmdshell ''net use \\10.181.215.85\ /user:administrator''
backup database ddczp_test to disk=''c:\ddczp_test.bak''
exec master..xp_cmdshell ''ftp@\\10.181.215.85\@user@pwd@51merit c:ddczp_test.bak''

11楼: 我来说2句吧。。。
你那种用命令的方法把数据复制到别的机器上是不太保险的...
应该使用下面调用系统函数的方法:

把我下面的UNIT加入到你的项目中去,
再这样调用就可以了。。。
//**********下面是复制数据到远程服务器**********
RemoteCopyFile(
''\\Dell\d$'', //远程目录名
''administrator'', //用户名
''yyzzxx'', //PWD
''c:\信息卡\用户资料库.dbc'', //本地源文件名(全)
''用户资料库.dbc''); //目标文件名(仅需文件名)

==========远程复制文件单元====================================================


UNIT Unit2;

INTERFACE

USES
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids;

FUNCTION RemoteCopyFile(
ARemote, //远程目录名
AUserID, //用户名
APassword, //PWD
ASour, //源文件名(全)
ADest //目标文件名(仅文件名)
: STRING): Cardinal; //返回0表示成功,否则为错误代码

IMPLEMENTATION

FUNCTION RemoteCopyFile(
ARemote, //远程目录名
AUserID, //用户名
APassword, //PWD
ASour, //源文件名(全)
ADest //目标文件名(仅文件名)
: STRING): Cardinal; //返回0表示成功,否则为错误代码
VAR
nr : TNetResource;
BEGIN
FillChar(nr, SizeOf(nr), 0);
nr.dwType := RESOURCETYPE_ANY;
nr.lpRemoteName := PChar(ARemote); //参数1
nr.lpLocalName := ''X:'';
nr.lpProvider := '''';
Result := WNetAddConnection2(nr, PChar(APassword), PChar(AUserID), 0);
IF Result <> 0 THEN
Exit;
ADest := ''X:'' + Trim(ADest);
IF NOT CopyFile(PChar(ASour), PChar(ADest), false) THEN
Result := GetLastError;
WNetCancelConnection2(''X:'', 0, True);
END;

END.

12楼: 多谢大家,小弟在试试! 如金蝶财务软件多少钱