如何在软件的安装过程中生成数据库! ( 积分: 100 )

  • 主题发起人 主题发起人 skywin
  • 开始时间 开始时间
S

skywin

Unregistered / Unconfirmed
GUEST, unregistred user!
我编写了一个软件,数据库采用SQL 2000,在要对软件制作一个安装程序,可是如何在安装软件时,将我的软件自带的数据库文件在SQL 2000的自动生成呢(即将指定的数据库恢复到SQL 2000中)??[:(]这样,软件就让客户觉得专业一些。而我现在的做法是安装完软件后,还要用户指定运行我的数据库生成程序!!!
急啊,兄弟们,帮帮我吧![:(]
 
我编写了一个软件,数据库采用SQL 2000,在要对软件制作一个安装程序,可是如何在安装软件时,将我的软件自带的数据库文件在SQL 2000的自动生成呢(即将指定的数据库恢复到SQL 2000中)??[:(]这样,软件就让客户觉得专业一些。而我现在的做法是安装完软件后,还要用户指定运行我的数据库生成程序!!!
急啊,兄弟们,帮帮我吧![:(]
 
先连到master数据库
然后把生成的数据库结构*.sql执行一下应该就可以了吧
 
初始数据可以在生成了数据库以后导入
 
你做一个附加数据库的功能,把你的mdf文件考过去,然后用dos命令,附加数据库。
 
我是想,直接将我的备份数据库文件来创建数据库,这样就不会太复杂了(软件有很初始化资料),并且在安装软件时,就可以让客户选择是否创建数据库!
 
skywin,
用我的方法应该可以达到你的目的。
就是你自己要做一个标准的安装用的数据库。
 
倍份和还原数据库
unit uBackUpNRestrre;
interface
uses
Adodb;
//备份指定的数据库到指定的文件
function BackUpSQLServerDbToFile(AdoConn:TAdoconnection;DataBaseName:String;FileName:String):Boolean;
//从指定的文件恢复指定的数据库
function RestoreSQLServerDbFromFile(AdoConn:TAdoconnection;DataBaseName:String;FileName:String):Boolean;
implementation
function BackUpSQLServerDbToFile(AdoConn:TAdoconnection;DataBaseName:String;FileName:String):Boolean;
var
AQ:TAdoQuery;
begin
AQ:=TAdoQuery.Create(nil);
AQ.Connection:=AdoConn;
Try
Result:=False;
AQ.SQL.Text:='BackUp DATABASE '+DataBaseName+' TO Disk = '''+FileName+'''';
AQ.ExecSQL;
Result:=True;
finally
AQ.Close;
AQ.Destroy;
end;
end;

function RestoreSQLServerDbFromFile(AdoConn:TAdoconnection;DataBaseName:String;FileName:String):Boolean;
var
AQ:TAdoQuery;
begin
AQ:=TAdoQuery.Create(nil);
AQ.Connection:=AdoConn;
Try
Result:=False;
AQ.SQL.Text:='use master'+#13+'Restore DATABASE '+DataBaseName+' From Disk = '''+FileName+''''+#13+'Use '+DatabaseName;
AQ.ExecSQL;
Result:=True;
finally
AQ.Close;
AQ.Destroy;
end;
end;

end.
 
挂接数据库数据文件和日志文件到指定服务器(默认为本机服务器就行)上
if 数据文件和日志文件都存在 then
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]
else
if 只有数据文件 then

sp_attach_single_file_db [ @dbname = ] 'dbname'
, [ @physname = ] 'physical_name'
 
http://www.aidelphi.com/6to23/docu/sqltest.zip
要包括以下知识:a、Form的构造函数。b、闪现窗体。c、异常处理。d、动态创建SQL数据库。e、动态创建SQL数据表。f、动态创建SQL主关键字约束。g、动态创建SQL外键约束。h、动态创建SQL触发器。i、自定义SQL数据库登录校验窗体。j、不用设置BDE的SQL数据库连接。k、动态窗体创建。l、MDI编程。m、利用Field的OnSetText事件检查输入值是否存在。n、主从结构数据表操作及保存。o、计算字段及Lookup字段编程。
 
生成的SQL或手工我都会,关键如何在安装时用我的备份文件来创建数据库,即安装完程序时数据库也生成了,安装完后直接运行软件程序就能运行系统了。还有用什么安装打包软件来实现这个功能![:(]
 
可以做一个程序吧
软件第一次运行的时候进行初始化
 
app2001, 您好!关于:"用installshield制作安装程序时如何调用其他安装程序?"zhaoyj 在 2005-8-25 14:54:20 提供了如下回答, 请您查阅和评估:
-----------------------------------------------------------------------------这是我用installshield做的安装程序,里面调用了3个安装程序,sql2000服务器的数据库开库程序,加密狗驱动程序安装,autodesk得一个插件的安
装,他们都搭在与可执行程序同一级的包里面,设定指向。然后从安装程序里写一点代码调用他!
或许能给你提示!
if (LaunchAppAndWait(SRCDIR^&quot;CreatDb.exe&quot;, &quot;&quot;,WAIT) < 0) then
MessageBox (&quot;Unable to launch &quot;+SRCDIR^&quot;CreatDb.exe&quot;
+ &quot;.&quot;, SEVERE);
endif;
if (LaunchAppAndWait(SRCDIR^&quot;Instdrv.exe&quot;, &quot;&quot;,WAIT) < 0) then
MessageBox (&quot;Unable to launch &quot;+SRCDIR^&quot;Instdrv.exe&quot;
+ &quot;.&quot;, SEVERE);
endif;
if (LaunchAppAndWait(SRCDIR^&quot;volovep.exe&quot;, &quot;&quot;,WAIT) < 0) then
MessageBox (&quot;Unable to launch &quot;+&quot;.&quot;, SEVERE);
endif;
-----------------------------------------------------------------------------该问题的URL是: http://www.delphibbs.com/delphibbs/dispq.asp?LID=3177817
 
1。单做个EXE程序,attach或restore数据库都可以;
2。然后在安装程序里将数据库文件打包进去,并调用此EXE程序恢复数据库;
3。记得在EXE程序里让用户输入数据库sa的密码
 
那在安装时,如何调用呢?
 
多人接受答案了。
 
可否告知最终如何搞定的?求教![:)]
 
后退
顶部