紧急求救!!!安装数据库的问题,高手请进!!!!!!!!!

BigAngell 2004-08-12 10:38:34
我作的这个产品现马上就要发布了,但还有一个问题我还没完全解决,详细说明如下:

用户买了我的产品后,第一步是安装SQL Server数据库(这个倒没什么问题);
然后安装我的软件(此处耍判断是否已安装SQL Server,否则判断是否启动了服务),数据库文也放在我的软件件包里,安装完成后,运行我的程序,这个时间我要将数据库附加到SQL Server(附加时具体如何操作),然后连接到我的数据库;

完事。

求救:如何成功附加数据库(中间可能会有一些细节吧,那两句命令我是知道,但有时不能成功附加,也不知道什么原因),希望能来点优质的代码,谢谢!


万分感谢!
...全文
148 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
GoldShield 2004-08-16
  • 打赏
  • 举报
回复
再不结贴就要BS你了^_^
ztenv 2004-08-13
  • 打赏
  • 举报
回复
附加数据库:resourcestring
s1='Provider=SQLOLEDB.1;Integrated Security=SSPI;';
s2='Initial Catalog=master;Data Source=127.0.0.1;';
begin
form1.ADOConnection1.Close;
form1.ADOConnection1.ConnectionString:=s1+s2;
form1.ADOConnection1.Open;
try
with adoquery1 do
begin
close;
sql.Clear;
sql.Add(' exec sp_attach_db ''hgdata'','''+getcurrentdir()+'\hg.mdf'','''+getcurrentdir()+'\hglog.ldf'' ');
execsql;
end;
messagebox(form1.Handle,pchar('挂接数据库成功!'),'提示',mb_ok or mb_iconinformation);
except
application.Terminate;
end;
end;//有时不能附成功,可能是由于数据库中已存在了一同名的数据库,
lookher 2004-08-13
  • 打赏
  • 举报
回复
在SQL SERVER 企业管理器中用附加命令吧,又快又方便
GoldShield 2004-08-13
  • 打赏
  • 举报
回复
你还不如在SQL中弄一个作业,安装完成后,把你的数据库恢复过来.
BigAngell 2004-08-13
  • 打赏
  • 举报
回复
能来点代码吗?
viaboy 2004-08-13
  • 打赏
  • 举报
回复
完全同意楼上.........
蓝色光芒 2004-08-13
  • 打赏
  • 举报
回复
判断SQL服务是否打开很简单,其实最好的办法是要求用户输入SQL用户名和密码,然后用这个密码连接LocalHost,如果连接成功,就开始附加,否则弹出提示。
附加过程也是一样的,首先文件的路径要正确,因为附加数据库是要求绝对路径的。
保证SQL里没有这个数据库名称。
pandarus 2004-08-13
  • 打赏
  • 举报
回复
以下是installshield7.0安装过程中附加数据库的代码:
function OnFirstUIAfter()
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
NUMBER bOpt1, bOpt2,nDefOption;
string svSQLsvr,svSQLusr,svSQLpwd,szCmdLine,szWaitTxt;//quote SQL Database parameter
begin
///////////////////////////* quote the SQL Dababase *//////////////////////
/*Create SQL Database*/
SdShowDlgEdit3 ( "请填写数据库信息" , "请填写数据库信息", "数据库服务器名", "用户名" , "密码" ,svSQLsvr , svSQLusr , svSQLpwd );
szWaitTxt=" 正在创建所需数据库....";
SdShowMsg (szWaitTxt, TRUE);
Delay(3);
szCmdLine = "/U "+svSQLusr+" /P "+svSQLpwd+" /S "+svSQLsvr+" /Q \"exec sp_attach_db N'Xoffice' , N'"+TARGETDIR ^"data\\MP_Data.MDF', N'"+TARGETDIR ^"data\\MP_Log.LDF'\"";
if (LaunchAppAndWait("osql.exe", szCmdLine,WAIT) < 0) then
MessageBox ("数据库创建失败!请确您的系统中已安装 Microsoft SQL Server 2000.\n如仍无法解决,请联系系统供应商!",SEVERE);
endif;
SdShowMsg (szWaitTxt, FALSE);
//-------------------------------------
/*Test SQL Database*/
szWaitTxt=" 正在生成数据库服务器作业....";
SdShowMsg (szWaitTxt, TRUE);
Delay(3);
szCmdLine = "/U "+svSQLusr+" /P "+svSQLpwd+" /S "+svSQLsvr+" /Q \"use MP_Test; exec T_createjob\"";
if (LaunchAppAndWait("osql.exe", szCmdLine,WAIT) < 0) then
MessageBox ("生成数据库服务器作业失败!您可以在 sql查询分析器中执行 \n use Mp_Test; exec T_createjob \n完成!",SEVERE);
endif;
SdShowMsg (szWaitTxt, FALSE);
BigAngell 2004-08-12
  • 打赏
  • 举报
回复
问题要考周全—>优质

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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