MFC 用ADO方式连接SQL SERVER 2008连接不上

为了确认实在这里出错,我在“数据库连接失败”这几个字后加了Name,以区分其他错误我想知道输入的服务器的计算机名对吗... 为了确认实在这里出错,我在“数据库连接失败”这几个字后加了Name,以区分其他错误
我想知道输入的服务器的计算机名对吗
展开
 我来答
匿名用户
2016-05-04
展开全部

"\"在C语言的作用忘记了?

如果数据库存放位置是本机,建议使用127.0.0.1

否则:如果是公网,则用域名,局域网则用IP

最好是将连接字串写在非EXE里,这样方便发布和修改数据库服务器位置、帐号密码

还有,vc中连通前,你应该在mssql管理器中尝试连接,如果在mssql管理器中都连接不能,则问题不出在VC中

case DATABASE_MSSQL:		
strcpy_s(data,"Driver={SQL Server};");

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,";");
}
上面是连接字符串生成代码,下面是打开连接的函数
int CAdoDataBase::Open(const char* data)
{
int ret=0;
memset(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=TRUE;
ret=0;
}
catch (_com_error e) 
{
m_bFlag=FALSE;
strcpy_s(m_strErrCode,e.Description());
m_pConnection=NULL;
ret=-1;
}
} while (FALSE);
this->UnLock();
return ret;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式