CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

使用 sqldmo 来启动 Sqlserver 不成功。

楼主wczwcg(我成长我成功)2002-11-26 15:51:08 在 VC/MFC / 基础类 提问

各位,我在VC++6.0中使用   sqldmo   来启动   sqlserver,可是却不成功,请看以下代码:  
   
  _SQLServerPtr   pSqlserver;  
  try  
  {  
      HRESULT   hr;  
      hr   =   pSqlserver.CreateInstance("SQLDMO.SQLServer");  
      if   (SUCCEEDED(hr))  
            hr   =   pSqlserver->Start(TRUE,_variant_t("(local)"),_variant_t("sa"),_variant_t(""));  
  }      
  catch(_com_error   e)  
  ......  
   
  可是,怎么也启动不了,请问这是作甚???? 问题点数:50、回复次数:8Top

1 楼nullhue(dream.vision.realiz)回复于 2002-11-26 18:25:52 得分 0

少个参数吧,还有用户名和密码,服务器名都正确吗?Top

2 楼wczwcg(我成长我成功)回复于 2002-11-26 18:34:17 得分 0

没有,前面的   AfxOleInit()   也加了,调试时,发现连   CreateInstance   都通不过,真是不理解。。。。Top

3 楼CharmDream()回复于 2002-11-27 13:26:59 得分 0

gzTop

4 楼wczwcg(我成长我成功)回复于 2002-11-28 10:14:46 得分 0

忘了说了,我的以上语句是写在   DllMain   函数中的,如果是拿出来放在另一个函数中就可以执行,但是放在   DllMain   中就不行,连   CreateInstance   都不能执行,真是不能理解,难道是在   DllMain   中不能产生任何对象吗?Top

5 楼title(桶漆底脱)回复于 2002-11-28 10:30:00 得分 5

楼主你好像少了连接这步呀!而且创建方式好像有问题呀!  
  这是我在DELPHI中的代码,运行没有问题,我想你应该可以看懂的。  
  var   oSqlServer:Variant;  
        sOwnerName:String;  
        i:integer;  
  begin  
    oSqlServer:=CreateOleObject('Sqldmo.sqlServer');  
    oSqlServer.Connect(Edit1.text,edit2.text,edit3.text);  
    for   i:=1   to   oSqlserver.databases.count   do  
    begin  
      listbox1.Items.Add('-------------');  
      listbox1.items.Add('名称:'+oSqlServer.databases.Item(i).name);  
      listbox1.items.Add('大小:'+Inttostr(oSqlServer.databases.Item(i).size));  
    end;  
      Memo1.Lines.Add('----------');  
      //memo1.lines.Add(oSqlServer.databases.item('carManage').Owner);  
      oSqlServer:=null;  
  end;Top

6 楼wczwcg(我成长我成功)回复于 2002-11-28 11:00:38 得分 0

To   Title:  
   
        在   VB   和   Delphi   中的确是如此,在   VC   中若不是   Dll   也可以,但是若是  
  放在   DllMain   函数中就不行了,而且连   AfxOleInit   放在其中执行后好象也  
  没有用,在其他地方调用   COM   前也一样还是要调用一次   AfxOleInit(),   真是  
  很不理解。。。。?????Top

7 楼Phourm()回复于 2002-11-28 11:45:51 得分 45

你在DllMain的哪个地方AfxOleInit()?  
  最好还是在dwReason   ==   DLL_PROCESS_ATTACH的AfxInitExtensionModule之后加上::CoInitialize(or   CoInitializeEx)而在DLL_PROCESS_DETACH的时候::CoUninitialize   afxoleinit有一些资源问题可能DLLMAIN还没有分配Top

8 楼wczwcg(我成长我成功)回复于 2002-11-28 16:11:54 得分 0

谢谢,问题已解决。。Top

相关问题

  • 配置eclipse,tomcat,lomboz时,启动tomcat成功,deploy module成功,运行出错
  • 从硬盘启动Linux,制作bootsect.lnx不成功,请帮忙!!!
  • 怪事,无法一次性启动成功
  • 安装red hat linux9.0成功,但是启动时黑屏。。。求救
  • 无法启动sqlserver的问题.
  • 本地SQLSERVER服务启动不了
  • 为什么我的SQLServer启动不了?
  • 关于sqlserver无法启动的问题
  • 郁闷,SQLServer服务启动不了!
  • 如何在cmd下启动、停止sqlserver?

关键词

  • 函数
  • sqlserver
  • 执行
  • hr
  • dll
  • osqlserver
  • sqldmo
  • afxoleinit
  • psqlserver
  • dllmain

得分解答快速导航

  • 帖主:wczwcg
  • title
  • Phourm

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo