用管理员权限打开Management Studio Express,这个时候不能使用sql账号登陆,用Windows身份验证登陆后,在实例下右键点击SQL服务器名,选择Properties,点击左侧的Security,将Win身份验证改为SQL Server和Windows混合身份验证,这样就可以用sql server账户登陆了,但是对于单独的账户还没有设置它是否可以登陆。
"\"在C语言的作用忘记了?如果数据库存放位置是本机,建议使用127.0.0.1否则:如果是公网,则用域名,局域网则用IP最好是将连接字串写在非EXE里,这样方便发布和修改数据库服务器位置、帐号密码还有,vc中连通前,你应该在mssql管理器中尝试连接,如果在mssql管理器中都连接不能,则问题不出在VC中caseDATABASE_MSSQL:strcpy_s(data,"Driver={SQLServer}")strcat_s(data,"Server=")strcat_s(data,addr)if(addr[0]!='.')//如果服务器地址使用".",则不能加端口{strcat_s(data,",")strcat_s(data,port)}strcat_s(data,"")strcat_s(data,"UID=")strcat_s(data,user)strcat_s(data,"")strcat_s(data,"PWD=")strcat_s(data,pwd)strcat_s(data,"")if(strlen(database)){strcat_s(data,"Database=")strcat_s(data,database)strcat_s(data,"")}上面是连接字符串生成代码,下面是打开连接的函数intCAdoDataBase::Open(constchar*data){intret=0memset(m_strLogin,0,1024)strcpy_s(m_strLogin,data)this->Lock()do{try{m_pConnection.CreateInstance(__uuidof(Connection))ret=m_pConnection->Open((_bstr_t)data,"","",adModeUnknown)m_bFlag=TRUEret=0}catch(_com_errore){m_bFlag=FALSEstrcpy_s(m_strErrCode,e.Description())m_pConnection=NULLret=-1}}while(FALSE)this->UnLock()returnret}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)