c ado 连接oracle

C ADO是C语言中常用的数据库访问方式之一,在连接Oracle时也是非常常用的方式之一。使用C ADO连接Oracle可以轻松访问数据库,进行数据的读取、插入、更新等操作。下面针对C ADO连接Oracle进行具体介绍。

在使用C ADO连接Oracle之前,需要先准备好需要用到的文件或者库。Oracle数据连接库中需要包含oci.h、oci.lib、oci.dll三个文件,同时我们需要下载Microsoft Data Access Components (MDAC)。

#include#include#include#include#include#include#include#includeint main(int argc, char* argv[]) { CoInitialize(NULL); //初始化COM组件 HRESULT hr; _RecordsetPtr pRecordset = NULL; //使用_RecordsetPtr方式定义指针 hr = pRecordset.CreateInstance(__uuidof(Recordset)); //初始化_RecordsetPtr指针 if (FAILED(hr)) { printf("创建Recordset对象失败!\n"); return hr; } try { _bstr_t bsConn = "Provider=MSDAORA;Data Source=orcl;User Id=your_username;Password=your_password;"; pRecordset->Open(_variant_t("select * from your_table"), _variant_t(bsConn), adOpenStatic, adLockReadOnly, adCmdText); //执行SQL语句 while (!pRecordset->adoEOF) //遍历记录集 { _bstr_t value1 = pRecordset->Fields->GetItem("your_column1_name")->GetValue(); _bstr_t value2 = pRecordset->Fields->GetItem("your_column2_name")->GetValue(); printf("column1: %S, column2: %S\n", (wchar_t*)value1, (wchar_t*)value2); pRecordset->MoveNext(); } } catch (_com_error e) { printf("访问数据库失败!%S\n", e.ErrorMessage()); } if (pRecordset != NULL) { pRecordset->Close(); pRecordset.Release(); //释放_RecordsetPtr指针资源 } CoUninitialize(); //释放COM组件 return 0; }