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

SQLDMO启动服务的有关问题

2012-02-06 
SQLDMO启动服务的问题我对SQLDMO很不了解,不知道该怎么用。写了下面一段代码,用来判断SQL Server 状态并做

SQLDMO启动服务的问题
我对SQLDMO很不了解,不知道该怎么用。
写了下面一段代码,用来判断SQL Server 状态并做相应处理,运行有问题,请大虾指正,非常感谢:

longll_status
oleobjectlmss

lmss = create oleobject
lmss.connectToNewObject("SQLDMO.sqlserver")

//lmss.LoginTimeOut = 10 //执行到这里时报属性LoginTimeOut找不到
lmss.connect("192.168.252.32", "sa", "") //执行到这里时报方法connect找不到(见备注1)
ll_status = lmss.status
choose case ll_status
.........

备注1:
Error:Name not found calling external object function connect at line 10



[解决办法]
regsvr32 sqldmo.dll即可显示成功注册
[解决办法]
//判断SQL Server是否已经启动,如果没有启动则做相应处理
st_status.text='判断SQL Server是否已经启动 ...'
OLEObject PBObject
long ll_status

PBObject = CREATE OLEObject
ll_status = PBObject.ConnectToNewObject ("SQLDMO.SQLserver")

string ls_serverName
integer li_Return
string ls_UserName
String ls_Password

Constant Integer SQLDMOSVC_Unknown =0//未知状态
Constant Integer SQLDMOSVC_Running =1//已经启动
Constant Integer SQLDMOSVC_Paused =2//SQL Server为暂停状态
Constant Integer SQLDMOS

VC_Stopped =3//SQL Server为停止状态
Constant Integer SQLDMOSVC_Starting =4//SQLSERVER正在启动(关闭-->启动)
Constant Integer SQLDMOSVC_Stopping =5//SQLSERVER正在关闭
Constant integer SQLDMOSVC_Continuing=6//SQLSERVER正在启动(暂停-->启动)
Constant Integer SQLDMOSVC_Pausing =7//SQLSERVER正在暂停(启动-->暂停)

 

ls_ServerName='218.71.42.229'
ls_UserName='sa'
ls_password='


IF ll_status = 0 THEN //连接成功
PBObject.name = ls_servername
PBObject.logintimeout=10
PBObject.LoginSecure = True //以NT方式连接
//PBObject.LoginSecure = false //以SQL Server方式连接
IF isNull(PBObject) Then Return
Try
li_return = PBObject.Status
Catch(RunTimeError rte)
Messagebox("提示","没有安装SQLServer",StopSign!)
End try
Choose cASE li_return
cASE 1 //已经启动
st_Status.text=ls_ServerName+'已经启动SQLSERVER服务器'
//PBObject.stop()//停止SQLSERVER
cASE 2 //SQL Server为暂停状态
st_status.text = '启动' + ls_servername + '上的SQL Server ...(暂停-->启动)'

BObject.Continue()
cASE 3 //SQL Server为停止状态
st_status.text = '启动'+ ls_servername + '上的SQL Server ...(停止-->启动)'
PBObject.Start(false,ls_servername,ls_username,ls_password)//启动SQL Server
cASE 4 //SQLSERVER正在启动(关闭-->启动)
st_status.text = ls_servername + '上的SQL Server 正在启动(关闭-->启动)'
PBObject.start(false,'sa',')//停止SQLSERVER
cASE 5 //SQLSERVER正在关闭
st_status.text = ls_servername + '上的SQL Server 正在关闭'
cASE 6 //SQLSERVER正在启动(暂停-->启动)

BObject.Continue()
cASE 3 //SQL Server为停止状态
st_status.text = '启动'+ ls_servername + '上的SQL Server ...(停止-->启动)'
PBObject.Start(false,ls_servername,ls_username,ls_password)//启动SQL Server
cASE 4 //SQLSERVER正在启动(关闭-->启动)
st_status.text = ls_servername + '上的SQL Server 正在启动(关闭-->启动)'
PBObject.start(false,'sa',')//停止SQLSERVER
cASE 5 //SQLSERVER正在关闭
st_status.text = ls_servername + '上的SQL Server 正在关闭'
cASE 6 //SQLSERVER正在启动(暂停-->启动)
st_status.text = ls_servername + '上的SQL Server 正在启动(暂停-->启动)'
cASE 7 //SQLSERVER正在暂停(启动-->暂停)
st_status.text = ls_servername + '上的SQL Server 正在暂停'
cASE 0 //未知状态
st_status.text = '未知'+ls_servername + '上的SQL Server 状态'
 End Choose
ELSE
messagebox("系统提示","数据库连接失败!~n请检查输入的用户名和口令是否正确"
return
end if
Destroy(PBObject)

热点排行
Bad Request.