MFC用ADO连接数据库(SQL Server)的相关问题(望大神解决啊)

为什么连接是出现IDispatch的3105的错误(数据库是用Windows登陆验证)

一般是 Data Source=“” 这句出错了。

连接用户名密码是否正确的话,你可以不用代码直接登陆一下试试是否成功。
还有sqlserver 不同版本的驱动是不一样的,比如2000 2008就是不一样的代码。你自己多试试呗~追问

我vs2013测试连接数据库成功连接,但是用上面的代码就不能连接,我用Windows登录的没有密码和账户,而且我用的是2008

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-01
Dispatch error #3149 是连接字符串错误

在连接SQL Server数据库的时候就需要用到 _ConnectionPtr对象了,代码为:

m_ptrConnection->ConnectionString=L"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=(数据库名字)HYL;Data Source=(这里填写数据拥有者,例如我的是)HYL-PC";

Integrated Security=SSPI指定的是Windows身份认证
Persist Security Info 属性的意思是表示是否保存安全信息,其实可以简单的理解为“ADO 在数据库连接成功后是否保存密码信息”,True表示保存,False表示不保存。

m_ptrConnection->ConnectionString=L"Provider=SQLOLEDB.1;Persist SecurityInfo=FALSE;User ID=sa;Password=8518225;Initial Catalog=HYL;Data Source=HYL-PC";
Initial Catalog=HYL要访问的数据库名字,Data Source装有数据库的机器名或是IP地址;这个是使用指定的用户名和密码的登陆方式!

MFC利用ADO连接连接SQLSERVER2008时,出现的问题
在利用MFC和ADO连接SQL Server 2008数据库时,遇到IDispatch错误#3149,这通常是因为连接字符串配置不正确。为了解决这个问题,我们需要使用_ConnectionPtr对象来设置正确的连接字符串。首先,确保连接字符串中的提供者(Provider)指定为SQLOLEDB.1。接着,对于身份验证,可以使用Integrated Security=SSPI来启用Win...

(求大侠相助)mfc中ado连接SQL SERVER数据库,执行Execute时出错!_百 ...
这么简单的sql语句当然没问题。_ConnectionPtr是智能指针,在析构时会自动释放。你这里pConn.Release(); 释放了,导致后面会重复释放出错。而且你还没关闭连接。try { CString strSQL = _T("select * from student");pConn->Execute(_bstr_t(strSQL),NULL,adCmdText);pConn->Close();AfxMessageBox(_...

...利用ADO技术去访问SQL Server数据库中的表,现遇到一个控件问题,求助...
第一步:应用程序启动时自动加载在DATACOMBO控件显示,在窗体加载事件里写实现程序。第二步:双击DATACOMBO控件会出现一个选择后触发的事件,你在这个事件里写要在DATAGRID控件里显示对应学生的Grade表的程序,这个联表查询,再绑定数据源。不知道这个能否满足你的要求。

VC中如何用ADO连接局域网SQL Server数据库
使用ADO前必须在工程的stdafx.h头文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下所示:用#import引入ADO库文件 import "c:\\program files\\common files\\system\\ado\\msado15.dll"no_namespaces rename("EOF" adoEOF")这行语句声明在工程中使用ADO,但不使用ADO的名字空间,...

MFC通过ADO连接access数据库:出现运行期错误Debug Assertion Faild还有...
你的SQL查询语句是sql.Format("SELECT * FROM students order by 学号 desc");但是遍历字段中是ID号,看一下这里有没有错!

MFC中在有ado接口连接Access数据库时数据库可以连上,但是在访问表时出现...
_variant_t("first") 换成_bstr_t("first") ,不过这个可能性不大 或者可能是你没选数据库吧,要先选定数据库才能用里面的表 试试看

MFC采用ado方式连接Access数据库时,读出数据问题。
{\/\/ 打开本地Access库Demo.mdb m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Db1.mdb;User ID=Admin;Jet OLEDB:Database Password=","", "", adModeUnknown);} catch(_com_error e){ ErrorReport("数据库连接失败,确认Db1.mdb是否在当前路径下!");\/\/dlg->WriteLog...

vc6.0写了个MFC的系统,用ADO连接的oracle。别人不装oracle,如何能让他...
Oracle是网络服务型数据库,本机不必安装。要在其它机器运行你的程序,需要三点保障:你的Oracle服务器端(Server)必须存在于网络(网络参见2)运行程序的计算机必须能够连接到网络(结合1,无论是是互联网运行还是局域网运行,Server必须有固定的访问地址即IP地址,服务器端和客户端必须存在网络连通)运行...

ADO Oracle 连接不上
连不上你是在本地机器上连接还是在另外的客户端连接啊?如果是C\/S 模式在客户机上连接是不行的,你要把服务名指定出来,就是你主机的数据库服务名,或者指定IP地址

MFC ADO连接服务器的数据库,在自己电脑win7上可以连上,但是把软件放到...
win7的msado接口做了调整,在win7下生成的程序无法正常在winxp、2003等旧的系统中运行。建议使用winxp系统下编译生成。

相似回答