数据库连接失败。。。
我之前没用过数据库,但现在要调试一个程序需要访问数据库,所以我昨天装了SQL server 2008,按照安装手册一步步下来都很顺利,今天调试程序,可就是怎么也连接不了数据库,找人帮我远程了下,也看不出来哪有问题,下面我把我的配置都贴出来请大家帮忙给看看。
这是服务器的配置
这是本机的IP地址
这是数据库服务器的IP地址
TCP端口1433
这是客户端的配置
这个管道我是复制了服务器中的,本来是sql\qurel,但是改不改结果都是一样的,现在设的是\\.\pipe\MSSQL$MSSQL2008\sql\query
我在C:\Windows\System32\drivers\etc找到hosts,也做了这项添加
接下来是我cmd的结果,ping 127.0.0.1是通的
ping myserver 就找不到,直接用服务器名称“WIN-AUBP50S9JTS\MSSQL2008”或“MSSQL2008”也一样
telnet 127.0.0.1 1433时,左上角光标闪烁
http://my.csdn.net/uploads/201205/24/1337839828_9999.png
下面就是我的断点程序代码和调试遇到的问题
代码:void CSiSectionParse::SetPara(CString outputPath, CString bakputPath, CString server, CString database, CString uid, CString pwd)
{
m_strOutputPath = outputPath;
m_strBakputPath = bakputPath;
m_strServer = server;
m_strDatabase = database;
m_strUID = uid;
m_strPWD = pwd;
m_ADOConnection.SetConnectString(m_strServer, m_strDatabase, m_strUID, m_strPWD);
m_bDbConnection = m_ADOConnection.GetConnection(m_pConnection);
#ifdef _DEBUG
if(m_bDbConnection)
std::cout << endl << "数据库连接成功" << endl;
else
std::cout << endl << "数据库连接失败" << endl;
#endif
{
string minfo;
if(m_bDbConnection)
minfo="数据库连接成功" ;
else
minfo="数据库连接失败";
LogString2(minfo);
}
return;
}
调试的配置文件:
这是调试:
很抱歉我在这个区没有积分,只能最多给20分,请大家还是看在我辛苦贴了这么多图的份上凑过来想想办法,谢谢!
[解决办法]
try
m_bDbConnection = m_ADOConnection.GetConnection(m_pConnection)
catch
如果这句捕获不到,就打开库里的一个表,再捕获那句
telnet 127.0.0.1 1433可以连接,说明数据库没问题了
问题出在语句上
[解决办法]
同学,SQL Server Management Studio中,能否访问这个实例?
另外的,如果是本机的程序访问本机的数据库,那么先尝试把Share Memory协议打开,然后连接字符串就写一个.
其次,数据库的实例是什么,连接字符串是否写了实例名?
[解决办法]
最简单方法,配个odbc看看能不能正常连接,
如果可以的话,再看代码
在看ODBC之前 看sql 外围服务是不是有启动
[解决办法]
运行管理器,先看看能不能连接上