免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4138 | 回复: 5
打印 上一主题 下一主题

向zhuzhichao问好! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-01-07 20:45 |只看该作者 |倒序浏览
小弟这厢有礼了.

论坛徽章:
0
2 [报告]
发表于 2002-01-07 20:47 |只看该作者
问个问题先。
如果我在程序中的SQL SERVER服务器没有启动。如何通过前台程序启动它!

论坛徽章:
0
3 [报告]
发表于 2002-01-08 09:24 |只看该作者
啊,兄弟,你也跑到这来了?
看样子,你注册时间比我还早.

run(\'net start mssqlserver\',Minimized! ) ;
或是
run(\'net start mssqlserver\') ;

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-21 06:20:00
4 [报告]
发表于 2002-01-08 09:31 |只看该作者
在程序中管理和控制MS SQLServer
转自http://www.elu365.com/article/list.asp?id=119  


通常我们都是用SQL Server Enterprise Manager来管理SQL Server服务器,但有时需要在程序中判断SQL Server服务是否已经启动,如果没有启动,最好还能够启动它。

    那么怎么实现呢?用NT/2000关于Service的API来实现存在着许多不足之处,经过研究,发现了SQL Server提供的SQL-DMO API(SQL Distributed Management Objects),通过它可以实现SQL Server Enterprise Manager所有的功能,哈,真是令人兴奋!

    对于使用VB、C/C++的人来说这是很容易的,因为MicroSoft不但提供了相关的文件,还有例程和帮助文件,PB、Delphi怎么办呢?看MicroSoft的资料,凡是支持OLE的开发工具都可以通过OLE来开发相关的程序。

    以下是一个例程:

integer result
OLEObject loo_SQLServer
loo_SQLServer = CREATE OLEObject
result = loo_SQLServer.ConnectToNewObject(\"SQLDMO.SQLServer\"
if result <> 0 then
   messagebox(\'提示\',\'创建OLE对象时产生错误\')
   return
else
   loo_SQLServer.name = \'ServerName\'
   if loo_SQLServer.Status = 3  then//服务停止
      loo_SQLServer.Start(false,\'ServerName\',\'sa\',\'pwd\')
   elseif loo_SQLServer.Status = 2  then//服务暂停
    loo_SQLServer.Continue()
   end if
   //启动之后再次判断是否成功
   if loo_SQLServer.Status = 2 or loo_SQLServer.Status = 3 then
    messagebox(\'错误\',\'启动服务失败\')
   end if   
end if
loo_SQLServer.DisconnectObject()
destroy loo_SQLServer

    可以看出我们只要创建一个SQLDMO.SQLServer对象,就可以通过他的方法来实现想要的功能了。SQLDMO还有很多Object,我们都可以通过OLE来实现想要的功能,像备份、恢复、发布、订阅等等,只要是SQL Server Enterprise Manager的功能,都能实现。具体的资料可以看SQL Server的Online Book和Binn目录下的SQLDMO.HLP。

    不过,用这种方式需要安装SQLServer客户端(MicroSoft说的),但是我们在发布PB程序时不是只需要SQLServer的两个文件即可吗?所以我觉得只要把SQLDMO.dll及相关文件安装并注册了就可以了,我用eXescope看了一下它还用到几个SQLServer提供的DLL,懒的再分析了,那位知道了简单的发布方法要告诉我哦。

    另外,在Delphi中用CreateOLEObject(\"SQLDMO.SQLServer\"),应该一样可以控制、管理SQLServer服务器,没试过,有时间再说吧!好了不说了,在此只是抛砖引玉,大家自己研究吧!

论坛徽章:
0
5 [报告]
发表于 2002-01-08 13:50 |只看该作者
听说在windows98上不能启动远程MSSQLSERVER服务,不知对否?

论坛徽章:
0
6 [报告]
发表于 2002-01-09 01:57 |只看该作者
对,是因为98 OS 的关系。用NT或2000 好一点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP