请教vc++6.0中怎样用ADO连接oracle 10g数据库,要做哪些设置?连接字符串怎么写?谢谢
解决方案 »
- MFC中怎么在对话框中添加单文档?
- 关于自动化访问word的问题
- 怎么实现SetClientSite接口? 请高手帮忙!
- 怎样使EditView变为只读?
- 谁知道SetMapMode用法啊
- 怎样才能在程序中实现对*.pcm声音文件的播放?
- **** 如何检测自己的程序内存没有释放? ****
- 中国有没有自己的数据库软件
- 在VS2005里面加入了一个BITMAP资源,由于大于256色,所以无法打开,编译器默认的ID是 IDB_BITMAP1,请问如何修改这个ID,是不是打不开就
- 求大家帮我看看下面的这段代码那里有问题
- VC++ ,ADO ,SQL Server数据库内容可读出但不能写入
- 如何实现c#利用openFileDialog添加图片时,添加图片时会自动复制图片到指定的目录下(如C:\)
这里虽然是Access的,但是由于ADO是对数据库操作提供一个统一的操作接口,所以只要把ADO的连接字符串换成自己需要的数据库连接字符串就行了,其他的操作几乎都差不多。
二 ADO中_variant_t变量的使用与转换
用ADO做数据库,有个麻烦的事情就是_variant_t变量的使用,使用本例中封装的CConvert类转换就方便了。
三
自己如何获取ADO连接字符串
有时候我们参考网上的ADO连接字符串写未必就能连接上数据库。今天详细介绍下这个很流行的如何获取ADO字符串的方法,就能很容易直观看到这个连接字符串是否真能连接上数据库。
四 A set of ADO classes - version 2.20
老外写的一个ado类,用着还挺方便的。不支持UNICODE工程,好久没更新了,但在VC6.0下支持还是挺好的。
为了方面没有该网站账户的童鞋下载,把源代码放到我的资源中了。下载源代码
个人翻译了一下,英文不好的童鞋可以凑合着看看。
五 简单的SQL入门
花个两三个小时就差不多,内容也不是很多。
这里有的数据库可能支持的SQL语句略有不同。比如top关键字在MYSQL中不能用等等,使用的时候自己根据具体的数据库来使用。
六 ACCESS数据库存储大批量采集信息的问题
happyparrot奉献一篇自己整理的ACCESS的帖子,主要是解决ACCESS删除数据不是物理删除的问题。对于反复不断的向ACCESS中写数据,删数据的应用来说,还是有点作用的。
七 ado方式操作数据库类
xianglitian奉献一篇自己的使用过程中“本土化”了数据库类。例中操作的数据库为ACCESS2003,操作方式为本地连接,数据库带密码。使用范例
我看到我的了
不过我确实没做过oracle
原理应该是一样的吧
关键是连接字符串
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
CString strsql,str;
strsql="select * from cs";
try{
pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\test.mdb","","",adConnectUnspecified);//打开数据库
}
catch(_com_error e)
{
MessageBox("数据库连接失败!");
}
pRst->Open(_bstr_t(strsql),_variant_t((IDispatch*)pConn),adOpenStatic,adLockOptimistic,adCmdText);//打开记录集
COleVariant colev;
while(!pRst->rsEOF)
{
colev=pRst->GetCollect("NUM");
strsql=BSTR(colev.pcVal);
m_combox.AddString(strsql);
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize();
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
这个需要先装个oracle客户端
SQL 2k的写法是Provider=OLEDB.1
Oracle的写法是Provider=MSDAORA
http://blog.csdn.net/BlueMap/archive/2010/07/11/5727000.aspx