delphi6+ado+adaptive server anywhere7
我在程序中要用copyfileto做个备份,可总是提示错误
以下是示例
adoconnection.close;//此步操作后数据库引擎并未关闭
copyfiletto(.....)//如何使这一步成功执行?
另:谁有lookup字段的最优解决办法,我的程序前段时间可以,现在不可以了
现在必须要为lookup字段赋值,以前不用,但也有lookup字段
我在程序中要用copyfileto做个备份,可总是提示错误
以下是示例
adoconnection.close;//此步操作后数据库引擎并未关闭
copyfiletto(.....)//如何使这一步成功执行?
另:谁有lookup字段的最优解决办法,我的程序前段时间可以,现在不可以了
现在必须要为lookup字段赋值,以前不用,但也有lookup字段
Create Procedure killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500)
declare @spid int
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status<>-1
begin
exec('kill '+@spid)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
endGO
在恢复数据库之前先执行此存储过程,像这样:Use Master
Go
exec killspid 'mydb'
Go
restore database mydb from disk='c:\mydb.bak'在Delphi中直接用ExecSQL先后执行以上SQL语句即可
刚刚学的,呵呵!
adoconnection.connected := false;
adoconnection.Connectionstring:='';
看清我的是什么库!
to all
我都试过,不行啊
我曾告诉过你我不清楚这个问题
因为有些数据库是对ADO支持的不太好
断不开的 SQLSERVER也一样
解决的办法呢就是不使用adoconnection
而直接用connectstring字符串在ADOQUERY上连接
我没怎么用过lookup字段的
说不上
adoconnection.connected := false;
adoconnection.Connectionstring:='';
backup database name to disk='d:\aa.bak'恢复 :
use Master
restore database name from disk='d:\aa.bak'
ConnectionString := '' ; 或者在需要断开 ADOConnection 时,将它链接到另外的库上 ,不知道这时文件是不是还在使用状态 ?
用backup吧
copy完再把服务叫起,再adoconnection.connected := True;
不然就向 gzllich(刚从泥坑里出来) 说的,库用着不能copy的
用什么方法挂断
adoconnection.close;
adoconnection.connected := false;
adoconnection.Connectionstring:='';
这些我试了都不行
adoconnection.connected := false;
winexec('dbisql.exe -q ' + s);
s := 'STOP ENGINE ' + servername + ' UNCONDITIONALLY';
stop放在dbisql中报错,根本执行不了
stop engine ys UNCONDITIONALLY
错误在ys处,ys已启动了
ASA7我们没用过,你的库文件名是ys.db吗?试着查一下帮助,看看ASA7挂断服务的命令
已给你发过短消息了,还不行我就无能为力了,手上没有ASA7没法试,
请谅解