首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

pb 如何用代码实现数据库附加,帮帮忙!多谢

2012-03-07 
pb 怎么用代码实现数据库附加,帮帮忙!谢谢怎么附加一个sql server2000数据库,例数据库文件就放在d:\data\m

pb 怎么用代码实现数据库附加,帮帮忙!谢谢
怎么附加一个sql server2000数据库,

例数据库文件就放在d:\data\my_datadase

要怎么附加,我想要这代码。。。。谢谢

[解决办法]
sqlca.autocommit = true 
string Ls_MySql 
Ls_MySql = "sp_attach_db '数据库名','d:\data\my_datadase\数据库名.mdf','d:\data\my_datadase\日志名.ldf'" 

EXECUTE IMMEDIATE :Ls_MySql USING sqlca; 
if sqlca.sqlcode <> 0 then 
RollBack; 
Messagebox("","附加失败") 
Return 
end if 
sqlca.autocommit = false
[解决办法]
这里有备份的代码,思路参考一下
if FileExists ( sle_path.text ) then
if messagebox("提示信息","今天已经备份过数据库,是否覆盖?",question!,yesno!)=2 then return
FileDelete ( sle_path.text)
end if
st_4.text ="正在备份数据......."

string ls_path ,ls_use

ls_use = 'EXEC'+'('+"'USE "+sle_db.text+"'"+')'
EXECUTE IMMEDIATE :ls_use ;

ls_path = sle_path.text

SQLCA.AutoCommit = TRUE

ls_use = "EXEC sp_addumpdevice 'disk'"+" , '"+sle_db.text+"' , "+" '"+ls_path+"'"
EXECUTE IMMEDIATE : ls_use ;

ls_use ="BACKUP DATABASE "+sle_db.text+" to "+sle_db.text+""
EXECUTE IMMEDIATE : ls_use ;

ls_use = "exec sp_dropdevice '"+sle_db.text+"'"
EXECUTE IMMEDIATE : ls_use ;
//newbakdat
setprofilestring('yy.ini','settings','newdat',ls_path)
SQLCA.AutoCommit = false

if sqlca.sqlcode = 0 then
messagebox("system ok!","数据库成功备份于 '"+sle_path.text+"'!")
close(w_backup)
HALT CLOSE
else
messagebox("system",sqlca.sqlerrtext)
rollback;
close(w_backup)
//HALT CLOSE
end if
[解决办法]

探讨
谢谢啊

只有一个数据库文件呢?怎么附加? 一样吗?

数据库备份后是什么格式的啊?

怎么恢复??

还请多教一些,谢谢

[解决办法]




我有附加数据和有关数据库操作的示例,如果需要可以发至邮箱
[解决办法]
ls_sql = " EXEC sp_attach_single_file_db " + DatabaseNames + ", '"+tab_1.tabpage_1.mle_selected.text +"'" 
EXECUTE IMMEDIATE :ls_sql; 
commit; 
只附加MDF文件,不附加日志文件。

热点排行
Bad Request.