来者有分:制作安装程序的时候,如何把已经建好的数据库导入到sqlserver2000服务器工作环境里并成功启动

青春青春 2003-11-28 05:17:03
我用pb做了一款软件,服务器端用sqlserver2000,现在客户端安装程序安装完毕后,应用程序能够顺利连接服务器端数据库,问题是:现在我不知道如何制作数据库服务器端的安装?即如何在一台刚刚装了SQL Server 2000的服务器上成功把我的数据库导入并成功启动,使客户端能够顺利访问。求教各位大吓。
...全文
75 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
banalman 2003-12-18
  • 打赏
  • 举报
回复
用dmo com对象,陶青网站侑例子。
qianduo 2003-12-11
  • 打赏
  • 举报
回复
UP
pbsql 2003-12-11
  • 打赏
  • 举报
回复
freebirdwjy(自由鸟):应用程序的安装程序不必把数据库打包在一起,因为一个用户可能只装一个数据库,但却要装多台客户端的!
青春青春 2003-12-11
  • 打赏
  • 举报
回复
up
freebirdwjy 2003-12-10
  • 打赏
  • 举报
回复
如果不安装SQL数据库,在安装应用程序时直接把数据库打包在一起,应该怎么做呢?谢谢
liliang800207 2003-12-10
  • 打赏
  • 举报
回复
下面的不知有用没有,与大家共享,别人刚教的,挺好

备份

string ls_datebase_name,ls_bkfilename,ls_sql
string docname, named
int li_filenum

li_filenum = GetFileSaveName("备份数据库,请输入备份文件名称", docname, named, "","数据库备份文件,") //打开文件选择对话框
ls_bkfilename = docname //备份文件完整路径
sle_1.text = docname //显示文件路径

if len(docname) = 0 then
messagebox('提示','请输入文件名称')
return
end if

ls_datebase_name = "enterprise"

//备份数据库
sqlca.autocommit = true
ls_sql = "BACKUP DATABASE" + space(1) + ls_datebase_name + space(1) + "to disk='" + ls_bkfilename + "'"


EXECUTE IMMEDIATE :ls_sql;

if sqlca.sqlcode <> 0 then
messagebox('提示','备份数据库时出错!')
return
else
messagebox("提示","数据库备份完毕")
end if


还原:

string ls_datebase_name,ls_date_logic_name,ls_log_logic_name,ls_date_reality_name,ls_log_reality_name,ls_bkfilename, ls_sql
string ls_reg_path, ls_install_path, docname, named
int li_filenum

ls_reg_path = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Uninstall\Microsoft SQL Server 2000"
RegistryGet(ls_reg_path, "InstallLocation", RegString!, ls_install_path)
ls_install_path = ls_install_path + "\Data\"

li_filenum = GetFileOpenName("读取备份文件", docname, named, "","数据库备份文件,") //打开文件选择对话框
ls_bkfilename = "'" + docname + "'" //备份文件完整路径

sle_1.text = docname

if len(docname) = 0 then
messagebox('提示','未选中有效的文件!')
return
end if

ls_datebase_name = "enterprise"
ls_date_logic_name = "enterprise_data"
ls_log_logic_name = "enterprise_log"
ls_date_reality_name = "enterprise.mdf"
ls_log_reality_name = "enterprise.ldf"


//还原数据库
SQLCA.AutoCommit = true
ls_sql = "RESTORE DATABASE" + space(1) + ls_datebase_name + space(1) + "FROM DISK = " + ls_bkfilename + space(1) + &
"WITH MOVE" + space(1) + "'" + ls_date_logic_name + "'" + space(1) + "TO" + space(1) + "'" + ls_install_path + ls_date_reality_name + "'," + &
" MOVE" + space(1) + "'" + ls_log_logic_name + "'" + space(1) + "TO" + space(1) + "'" + ls_install_path + ls_log_reality_name + "'"

EXECUTE IMMEDIATE :ls_sql;

if sqlca.sqlcode = 0 then
messagebox("提示","数据库还原成功!")
else
messagebox("提示","还原数据库时出错!")
return
end if
liliang800207 2003-12-10
  • 打赏
  • 举报
回复
给我发一份,好吗?
liliang800207@tom.com
wei0527 2003-12-10
  • 打赏
  • 举报
回复
To: pbsql(风云)
给我发一份,先谢了
qw0527@163.com

poemlake 2003-12-10
  • 打赏
  • 举报
回复
如果照风云兄所说的那样,这个程序真不错啊,直接发给客户就行了,先谢了,以前只是手动恢愎数据库,不方便啊,还得断开数据库,
qianduo 2003-12-10
  • 打赏
  • 举报
回复
up
yanghongfeng 2003-12-10
  • 打赏
  • 举报
回复
帮你up!!!!!!
yar1984 2003-12-03
  • 打赏
  • 举报
回复
给我一份
yangairong9179@tom.com
371xingxiu 2003-12-03
  • 打赏
  • 举报
回复
也给俺一份
371xingxiu@126.com
tommyhuanglei 2003-12-03
  • 打赏
  • 举报
回复
happyhuanglei@vip.sian.com

我也做过一个不知道和你的是不是雷同呢?呵呵

楼主我估计你是只导入了数据,没有把结构导全,例如:主键,和索引
pbsql 2003-12-03
  • 打赏
  • 举报
回复
PB是可以做的,遵循上述方法就是了,但文件小不了,光是那一堆DLL就够繁的了
liliang800207 2003-12-03
  • 打赏
  • 举报
回复
To: pbsql(风云)
给我发一份,好吗?
liliang800207@tom.com
SunMight 2003-12-02
  • 打赏
  • 举报
回复
偶初学,不过我是找bug高手哦,给偶一份吧,帮你找找看有没有:)谢谢了!

sunmight@163.com
pbsql 2003-12-02
  • 打赏
  • 举报
回复
以上都发了,没人试用一下?

算了,到此为止了!
twh811019 2003-12-02
  • 打赏
  • 举报
回复
To: pbsql(风云)
给我发一份,我也想要。
小妹先谢了
buttyflyinrain@hotmail.com
我不会delphi,我对vb有把握些
青春青春 2003-12-02
  • 打赏
  • 举报
回复
各位大虾,有没有原代码啊,最好是PB的。
加载更多回复(22)

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧