判断MSSQL是否已安装并正常运行的依据是怎样的

fallstone 2003-11-14 10:46:28
做程序打包。
安装程序前先判断是否已经安装过MSSQL,若没有的话给出提示;
已经安装过就继续进行,这个哪位知道用什么做依据判断。
打包工具是INSTALLSHIELD
...全文
85 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fallstone 2003-11-14
  • 打赏
  • 举报
回复
启动SQL服务我已经知道SQL里的命令,不需要VB了。
声明:我不会在IS里去调用VB的程序的,那我还不如不用IS,用程序做个打包算了。
fallstone 2003-11-14
  • 打赏
  • 举报
回复
f_Get_ServerStatus是哪里的函数?
我不知所云啊。
fallstone 2003-11-14
  • 打赏
  • 举报
回复
我是要在IS里判断。
本来考虑连一下MASTER数据库,不过觉得比较麻烦。
判断注册表,我想问:如果卸栽了,那个注册表项是否还在?
zjcxc 元老 2003-11-14
  • 打赏
  • 举报
回复
'利用上面的两个过程就可以实现你的目的.

先用f_Get_ServerStatus取得SQL服务器的状态,如果是未知的状态,那就表明没有安装SQL
停止的状态,就用第二个过程启动它.
sdhdy 2003-11-14
  • 打赏
  • 举报
回复
注册表有这一项吗?我怎没找到?
zjcxc 元老 2003-11-14
  • 打赏
  • 举报
回复

'*************************************************************************
'**函 数 名:s_Start_Server
'**输 入: sServerName 要启动的SQL服务器名
'** : sUser 登陆的用户
'** : sPassword 登陆密码
'**输 出:无
'**功能描述:启动SQL服务
'**
'**调用模块:'引用: Microsoft SQLDMO Object Library
'**作 者: 邹建
'**日 期: 2003年11月12日
'*************************************************************************
Sub s_Start_Server(Optional ByVal sServerName$ = "", Optional ByVal sUser$ = "", Optional ByVal sPassword$ = "")
Dim iSQLServer As SQLDMO.SQLServer

On Error GoTo lb_Err
Set iSQLServer = New SQLDMO.SQLServer
With iSQLServer
If sUser = "" Then
.LoginSecure = True
.Start True, sServerName
Else
.Start True, sServerName, sUser, sPassword
End If
.DisConnect
End With

GoTo lb_Exit

lb_Err:
MsgBox "错误:" & Error, 48

lb_Exit:
If Not (iSQLServer Is Nothing) Then Set iSQLServer = Nothing
End Sub



zjcxc 元老 2003-11-14
  • 打赏
  • 举报
回复
--这个当然是要在程序中判断,以VB中的判断为例:


'VB中的例子

'*************************************************************************
'**函 数 名:f_Get_ServerStatus
'**输 入: sServerName 要查看状态的SQL服务器名
'** : sUser 登陆的用户
'** : sPassword 登陆密码
'**输 出:无
'**功能描述:得到SQL服务器的状态
'**
'**调用模块:'引用: Microsoft SQLDMO Object Library
'**作 者: 邹建
'**日 期: 2003年11月12日
Function f_Get_ServerStatus(Optional ByVal sServerName$ = "", Optional ByVal sUser$ = "", Optional ByVal sPassword$ = "")
Dim iSQLServer As SQLDMO.SQLServer
Dim iRe$

On Error GoTo lb_Err
Set iSQLServer = New SQLDMO.SQLServer
With iSQLServer
If sUser = "" Then
.LoginSecure = True
.Connect sServerName
Else
.Connect sServerName, sUser, sPassword
End If
Select Case .Status
Case SQLDMOSvc_Continuing
iRe = "正在连接"
Case SQLDMOSvc_Paused
iRe = "暂停"
Case SQLDMOSvc_Pausing
iRe = "正在暂停"
Case SQLDMOSvc_Running
iRe = "运行"
Case SQLDMOSvc_Starting
iRe = "正在启动"
Case SQLDMOSvc_Stopped
iRe = "停止"
Case SQLDMOSvc_Stopping
iRe = "正在停止"
Case SQLDMOSvc_Unknown
iRe = "未知"
End Select
.DisConnect
End With

GoTo lb_Exit

lb_Err:
MsgBox "错误:" & Error, 48
iRe = "错误"
lb_Exit:
If Not (iSQLServer Is Nothing) Then Set iSQLServer = Nothing
f_Get_ServerStatus = iRe
End Function



lvltt 2003-11-14
  • 打赏
  • 举报
回复

判断注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLSERVER\setup
txlicenhe 2003-11-14
  • 打赏
  • 举报
回复
这个不会。听楼下的讲课。
pengdali 2003-11-14
  • 打赏
  • 举报
回复
用你的程序判断 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLSERVER\setup 注册表

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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