您的位置:首页 > 数据库

VS2010中MFC用ADO方式连接 SQL SERVER 2008 EXPRESS的步骤。

2015-01-31 19:52 435 查看
有三个部分的内容:SQL SERVER的设置; 电脑的设置;MFC中用ADO接口进行访问。下面首先说明SQL SERVER的设置部分,然后再用代码实现接入数据库。

如果在VS2010的安装向导中,选择了安装SQL,则安装完成以后,电脑上就有了一个SQL Server 2008 Express的版本,这个版本是一个免费版本,可以满足用户的基本需求。这个版本缺乏sql的管理器,这个管理器可以在网络上下载,官方是免费的,“Visual Studio 2010已安装,sql server 2008 management studio安装教程”详细的说明了安装步骤,链接:http://wenku.baidu.com/link?url=NoAEF4DQ4vhLO7uvxcJ--sGXCPJxZrBTXx5Kq8pbVbDqAKu5WRJCwluxnSTJ5c14T2q9BAHD3L60GThq5T0tmSYk7Fiw4eWYOJz4wlX8fNC。文档的前半部分是安装管理器,后半部分是安装完成管理器以后,需要对服务器进行相关的配置和设置。点击Microsoft
SQL Server 2008中的SQL Server Managerment Studio 的界面,按照文档的后半部分那样注册一个新的登录名,注意登录名右键->新建登录名->常规选项卡中一定要选择SQL Server选项。设置好用户名和密码,然后关闭该软件,用刚才注册的用户名和密码登录,注意这个时候登录就选择

图中红线的登录方式,服务器名称为:计算机名\SQLEXPRESS,如果是安装好软件后的第一次登录,则选择windows身份认证,服务器名称也是:计算机名\SQLEXPRESS,下面的登录名和密码不管。这样就能完成服务器的用户注册和登录了。

接下来对SQL Server进行配置。

,打开软件以后如图

,我的系统是64位,所以对64位的两个地方进行配置,32位只需要在32位下配置即可。启用TCP/IP协议以及Named
Pipes协议。客服端也要启动这个两个协议。接下来修改TCP/IP中的端口号,点击TCP/IP右键->属性->IP地址

,设置成图中所示红色的部分那样,每个IP都是相应的设置,最后IPALL时也是一样的设置,将IPALL的TCP动态端口留空,不是0,是空着。这样端口就设定为固定的1433端口了。最后对SQLServer重新启动一下,将刚才的设置变成有效的。这样SQL
Server的设置全部完成。

电脑上的设置: 关闭windows系统的防火墙,或者采用将配置防火墙的“高级设置 ”,将C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe,“新建规则”到“入站规则”中。将 UDP端口 1434 “新建规则”到“入站规则”中。 最后确定电脑的1433端口是打开的,

在dos界面下输入

netstat
–an可以查看到1433端口是否打开,图中红色的代表1433端口未被占用且是打开的。

在MFC程序中,可以将采用ADO与SQL Server进行连接,下面的代码是测试代码,可以放在MFC程序的某个按键里面,这样在界面上点击按键就可以运行下面的代码。

AfxOleInit();//初始化
HRESULT hr; //句柄

_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
m_pConnection->ConnectionTimeout = 8;     //设置连接时间
//TRACE("%s\n",m_sConn);
try
{
_str_t strConnect="Provider=SQLOLEDB.1;Password=900923;Persist Security Info=True;User ID=plamserver;Initial Catalog=PlamServer;
Data Source=127.0.0.1,1433";
hr = m_pConnection->Open(strConnect,"","",adModeUnknown);
if (FAILED(hr))
{
AfxMessageBox("不能连接数据库!");
return ;        }
else
AfxMessageBox("连接数据库成功!");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());

return ;
}

上面的代码中注意,_com_error e对象的Description方法可以返回没有连接成功的原因,根据这个原因进行搜索原因是很好的。ADO连接方式的难点是连接字串的获得,即是strConnect字串,这个字串可以通过一个巧妙的方法获得,具体方法在http://blog.csdn.net/zyq5945/article/details/5586423这个链接中,注意在用这个方法的时候前面的SQL SERVER的设置和 电脑的设置都已经完成了。最后如果将用上面提到的方法得出的字串复制到程序中,将Datasource部分替换成
127.0.0.1,1433即可。即是本机地址加sqlserver端口的方式,或者用Data Source=计算机名\\SQLEXPRESS这种方式也是可以的,但是注意是两个“\\”。

通过上面的这些步骤,就可以完成vs2010中MFC用ADO方式连接 SQL SERVER 2008 EXPRESS了。如果出现了问题,可以根据报出的错误再进一步定位问题。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: