平台:Wndows XP
数据库:MS SQL Server 2000
编程环境:Delphi 7
连接数据库方式:ADO问题内容:
在SQL SERVER查询分析器里运行“Print 'Message Demon~'”语句时!返回的结果是“Message Demon~”~
在SQL SERVER查询分析器里运行“BACKUP DATABASE [RenJi_DB] TO DISK = 'X:\XXXX.BAK”!返回结果如下~“已处理 8360 页,这些页属于数据库 'RenJi_DB' 的文件 'renji_db_Data'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'RenJi_DB' 的文件 'renji_db_Log'(位于文件 1 上)。
BACKUP DATABASE 操作成功地处理了 8361 页,花费了 4.118 秒(16.630 MB/秒)。
”请问在DELPHI怎么获得这个返回结果呢?!
数据库:MS SQL Server 2000
编程环境:Delphi 7
连接数据库方式:ADO问题内容:
在SQL SERVER查询分析器里运行“Print 'Message Demon~'”语句时!返回的结果是“Message Demon~”~
在SQL SERVER查询分析器里运行“BACKUP DATABASE [RenJi_DB] TO DISK = 'X:\XXXX.BAK”!返回结果如下~“已处理 8360 页,这些页属于数据库 'RenJi_DB' 的文件 'renji_db_Data'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'RenJi_DB' 的文件 'renji_db_Log'(位于文件 1 上)。
BACKUP DATABASE 操作成功地处理了 8361 页,花费了 4.118 秒(16.630 MB/秒)。
”请问在DELPHI怎么获得这个返回结果呢?!
要的就是那些结果~如果NO_LOG就没意思了!~
但确实没有得到过那个信息的。提供方法给你自己试一试吧:
1。要得到Print 'Message Demon~的信息,可以用SELECT或者是OUTPUT输出参数带出来。
2。= 'X:\XXXX.BAK”!返回结果如下~“已处理 8360 页,这些页属于数据库 'RenJi_DB' 的文件 'renji_db_Data'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'RenJi_DB' 的文件 'renji_db_Log'(位于文件 1 上)。
BACKUP DATABASE 操作成功地处理了 8361 页,花费了 4.118 秒(16.630 MB/秒)。
**已经处理了多少页我也办法取得,但是这些页属于哪个数据库应该知道的;
总共花了多少的时间就用如下方法就可以了,虽然不准确,不过对于用户来说,
他确实是等了N久的。
tmp1:=Now;
//backup...
tmp2:=Now;
tmp2-tmp1就是对于用来说,他等了的时间啊,也应该能够接受的。
谢谢大家的参与~~这个问题有其他的解决方法~~~!是可以完成上面的操作的!但是我想知道用ADO怎么完成的!
如果大家想知道这个问题的其他解决方法可以参照~~~
Microsoft SQLDMO Object Library
那里有关于SQL SERVER操作的许多接口~~~~~
比如数据库的备份和恢复~~~~~~~~~而且可以提供备份恢复的操作进度!!其实如果能获得我所说的上面哪个结果的话~也可以获得数据库备份和恢复的操作进度~
例如你在恢复数据库的时候使用下面的语句~!~
RESTORE DATABASE [RenJi_DB] FROM DISK = N'H:\0908' WITH FILE = 1, NOUNLOAD , STATS = 10, RECOVERY
注意~“STATS = 10”参数~~他的意思就是说~~~
每完成 10 个百分比显示一条消息。