当前位置:首页 » 多媒体相关

大家帮我看看这个连接数据库的错误原因是什么!多谢


在我的程序中有如下语句:  
  cstring   strconn("data   source   =   dianqi-zjf,   initial   catalog   =  
                                  \"马达控制中心数据库\"");  
  m_padoconnection.open(strconn,   "aaaa",   "aa");  
   
  m_padoconnection是自己定义的一个封装类,封装了connection对象  
  open函数的定义如下:  
  bool   cadoconnection::open(lpctstr   lpstrconnection,   lpctstr   pstruserid,         lpctstr   lpstrpassword)  
  {  
            hresult   hr   =   s_ok;  
            if(isopen())  
  close();  
            if(strcmp(lpstrconnection,   _t(""))   !=   0)  
  m_strconnection   =   lpstrconnection;  
            assert(!m_strconnection.isempty());  
            try  
            {  
                    if(m_nconnectiontimeout   !=   0)  
  m_pconnection->putconnectiontimeout(m_nconnectiontimeout);  
  hr   =   m_pconnection->open(_bstr_t(m_strconnection),   _bstr_t  
                                                  (lpstruserid),   _bstr_t(lpstrpassword),   null);  
  return   hr   ==   s_ok;  
  }  
  catch(_com_error   &e)  
  {  
  dump_com_error(e);  
  return   false;  
  }  
  }  
   
  运行时出错,有一下提示:  
  cadoconnection   error  
  code   80004005  
  code   meaning   =   未指定错误  
  source   =   microsoft   oledb   provider   for   odbc   drivers  
  description   =   [microsoft][odbc   驱动程序管理器]数据源名称过长  
   
  这是什么意思,难道是因为数据库名称用的是中文,占太多字节?  
  肯定是这两句的原因,因为其他语句都先注释掉了  
   
 

推荐阅读

  • Painter 8自定义笔刷技巧 [详细内容]
  • 飞利浦知识产权专家建言中国企业要重研发 [详细内容]
  • 5月份台积电联电收入下滑 芯片市场开始回暖 [详细内容]
  • 《苍之涛》对付机关兽BOSS的技巧 [详细内容]
  • 用手写笔控制JAVA游戏的方法 [详细内容]
  • 我国99%企业没申请专利 6成企业无自己商标 [详细内容]
  • 极品飞车-地下狂飙甩尾技巧 [详细内容]
  • 网友回答:
    网友:saucer

    try  
       
      cstring   strconn("provider=sqloledb;data   source=dianqi-zjf;initial   catalog=马达控制中心数据库;");  
     

    .

    讨论区

    Login