sql如何连接odbc数据库,vc怎么连接odbc数据库?

求解!!!!!!!!!... 求解!!!!!!!!! 展开
 我来答
流天_liu
2012-02-19 · TA获得超过120个赞
知道答主
回答量:44
采纳率:0%
帮助的人:37.9万
展开全部
建议使用ado来连接,使用odbc比较繁琐的,如下是我精心总结的使用ado连接数据库方法

*******************************************
**********首先是连接Access数据库***********
*******************************************

@@@@@@@以下在VC6.0环境中都能实现@@@@@@@@@@@
================ADO方法:==================
|||||针对Access2003:---->参照实例Ado6666.zip文件
//首先要在文件的头部引入一个动态链接库:
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF") \
rename ("BOF","adoBOF")
//连接指针,实例方法一
_ConnectionPtr pConn(__uuidof(Connection));
//连接指针,实例方法二
_ConnectionPtr pConn; pConn.CreateInstance(__uuidof(Connection));
//对于ADO的连接,要指定一个Provider和一个数据源
//ADO连接Access的Provider是Microsoft.Jet.OLEDB.4.0而数据源就是一个Access文件
Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = ×××.mdb
//调用Open函数打开连接
//Open的第一个参数是连接字符串(ConnectionString),即由Provider和Data Source组成的一个字符串
//第二个和第三个参数是数据源的用户名和密码,如果没有给它们指定,则为空字符串
pConn->Open("","","",adConnectUnspecified);
//打开记录集两种方式
//方式一: 该方式打开一个SQL语句执行的内容,且能够对记录集进行查询、修改、添加和删除
pRset->Open("SELECT * FROM 学生",(_variant_t)((IDispatch*)pConn),adOpenDynamic,adLockOptimistic,adCmdText);
//方式二: 该方式打开一个SQL语句执行的内容,与“方式一”所不同的是,我们只能对其查询
pRset = pConn->Execute("SELECT * FROM 学生",NULL,adCmdText);
//另加说明:还有其他打开方式,如利用_CommandPtr指针对象,也是可以有同样的操作的
//记录集和数据库的练级的关闭
pRset->Close(); //关闭
pRset.Release(); //释放
pRset = NULL; //设其值为NULL,防止到处乱指
pConn->Close(); //关闭
pConn.Release(); //释放
pConn = NULL; //设其值为NULL,防止到处乱指
-------------------------------------------------------------------------------------------
|||||针对Access2007:---->参照实例Ado7777.zip文件
我们知道Access2007文件的后缀名是.accdb,经过测试我们知道,使用Microsoft.Jet.OLEDB.4.0 Provider
已经不能打开数据库,微软给我们提供了一个支持Access2007数据库连接的Provider:Microsoft.ACE.OLEDB.12.0
只是这样还不够,还需要一个数据引擎,我从网上下了一个:AccessDatabaseEngine.exe,安装之后就可以用了。
其他操作和连接Access2003大同小异,没有什么区别。
-------------------------------------------------------------------------------------------
|||||针对SQL Server2005:---->参照实例DBLinkToSS2005.zip文件
对于ADO技术的使用,只要做好连接字符串,其他操作基本相同
对于连接SQL Server2005,主要还是ConnectionString的问题,它的ConnectionString是:
Provider=MSDASQL.1;Password=lanche;Persist Security Info=True;User ID=sa;Data Source=mysqlserver2005ds;Initial Catalog=master
这段代码比较长,不容易记住,但是没有必要,有一种简便的方法,可以准确无误地做好连接字符串的准备
方法如下:
1,向对话框中添加两个ActiveX控件:Microsoft ADO Data Control 6.0(SP6)和Microsoft DataGrid Control 6.0(SP6)
要注意的是,在"Insert Active Control"对话框中还有一个与Microsoft DataGrid Control 6.0类似的控件:DBGrid Control,
千万别加错了!
2,打开Microsoft ADO Data Control 6.0(SP6)控件的属性对话框,在标签控件中选择Control标签,点击"Build",将会弹出一个数据
连接属性对话框,这里有很多种连接,当然我不可能把所有的情况都说一遍,现在我只说说现在我的做法:
【提供程序】选择Microsoft OLEDB DB Provider for ODBC Drivers【连接】选择一个数据源,如我利用
SQL Server Native Client 10.0驱动程序建立了一个名为"mysqlserver2005ds"数据源
3,如果测试连接成功后,即可以得到一个ConnectionString了
-------------------------------------------------------------------------------------------
|||||针对Oracle 11g:---->参照实例DBLinkToSS2005.zip文件
连接Oracle11g的方法和连接SQL Server2005的方法是一样的,在这里我只给出我做的实例的ConnectionString
Provider=MSDASQL.1;Password=lanche;Persist Security Info=True;User ID=system;Data Source=Oracle ODBC for Visual C++
###########################################################################################
备注:
1,其他数据库连接,比如到SQL Server2008(SQL Server2000不必说,因为它已经退出历史舞台),还有Oracle10g,它应该和Oracle11g的连接
方法一样,没什么变化。还有一类数据库,我不想讨论,比如MySQL,DB2等。
2,还有三种连接数据库技术:ODBC,OLE,DAO,这三种方法比较古老,ODBC只是在数据源方面还很有用,至于用它来做数据库开发,是不适宜的;
DAO是建立在OLE之上的一种技术,如今出现了ADO技术,虽说DAO技术在某些方面还是有一些优势,但还是被ADO给淘汰了,据我所知,DAO
已经被淘汰了,目前ADO是使用最广泛也是最便利的技术,所以综合这四种技术,在数据库开发中推荐使用ADO.故不再讨论其他连接技术了。
…………………………………………Summed on by Chengming………………………………………………
……………………………If you have any question,please contact me…………………………………
…………………My QQ number is 1204833748 and my e-mail is Tacky_Man@126.com…………………
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式