在下刚开始接触SQL SERVER,按照网上找的教程,在一台安装了WINDOWS SERVER 2003的服务器上安装了一个SQL SERVER 2005 Express。安装过程正常,安装完毕后还在本地电脑上装了一个SQL Server Management Studio Express以便于操作。数据库配置具体可参看这篇帖子。Management Studio操作一切正常,还进入数据库安装了数据等。
可当我使用代码进行连接时,却不对了,程序一连就卡死。以下是我测试用的简单连接代码:
#import "c:\program files\common files\system\ado\msado15.dll" rename_namespace("adodb") rename("EOF","adoEOF") adodb::_CommandPtr m_DBCommand;
adodb::_RecordsetPtr m_DBRecordset;
adodb::_ConnectionPtr m_DBConnection; AfxOleInit(); try
{
m_DBConnection.CreateInstance("ADODB.Connection"); m_DBConnection->Open("Provider=sqloledb;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=QPServerInfoDB;Data Source=192.168.1.79,3353", "", "", -1);
}
catch (...)
{
MessageBox("ado init failed");
OnCancel();
return FALSE;
}每当程序执行到Open这一步时,便陷入卡死,不再响应,但也无报错。
请教各位达人,我的代码有什么错误吗?有的话错在哪里,为啥管理软件远程连接正常,使用代码就不行了呢?
可当我使用代码进行连接时,却不对了,程序一连就卡死。以下是我测试用的简单连接代码:
#import "c:\program files\common files\system\ado\msado15.dll" rename_namespace("adodb") rename("EOF","adoEOF") adodb::_CommandPtr m_DBCommand;
adodb::_RecordsetPtr m_DBRecordset;
adodb::_ConnectionPtr m_DBConnection; AfxOleInit(); try
{
m_DBConnection.CreateInstance("ADODB.Connection"); m_DBConnection->Open("Provider=sqloledb;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=QPServerInfoDB;Data Source=192.168.1.79,3353", "", "", -1);
}
catch (...)
{
MessageBox("ado init failed");
OnCancel();
return FALSE;
}每当程序执行到Open这一步时,便陷入卡死,不再响应,但也无报错。
请教各位达人,我的代码有什么错误吗?有的话错在哪里,为啥管理软件远程连接正常,使用代码就不行了呢?
我用的是2008R2,需要打开2个端口TCP-1433、UDP-1434。
感觉上不是很像……
一方面可以看这个帖子,里面我都是打开了的:
http://bbs.csdn.net/topics/390399462
另一方面我使用连接IP和端口的方式也能在VS2005中测试连接成功,可就是代码不行。
怀疑就是这句代码有问题,可不知道问题在哪……
m_DBConnection->Open("Provider=sqloledb.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=QPServerInfoDB;Data Source=192.168.1.79,3533", "", "", -1);