谁能介绍OCI,及如何将C++连到oracle上。躬请jin_75@sina.com

waner 2000-05-24 03:44:00
有谁能介绍一下有关OCI接口,及如何将C++连到oracle上。躬请jin_75@sina.com
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shshsh_0510 2000-07-26
  • 打赏
  • 举报
回复
下面的代码连接ora8数据库,更改scott密码:

OCIEnv *envhp;
OCIServer *srvhp;
OCIError *errhp;
OCISvcCtx *svchp;
OCIStmt *stmthp;
OCISession *usrhp;
dvoid *tmp;
OCIInitialize((ub4) OCI_THREADED | OCI_OBJECT, (dvoid *)0, (void *(__cdecl *)(void *,unsigned int)) 0,
(void *(__cdecl *)(void *,void *,unsigned int)) 0, (void (__cdecl *)(void *,void *)) 0 );
OCIHandleAlloc( (dvoid *) NULL, (dvoid **) &envhp, (ub4) OCI_HTYPE_ENV,
52, (dvoid **) &tmp);
OCIEnvInit( &envhp, (ub4) OCI_DEFAULT, 21, (dvoid **) &tmp );
OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &errhp, (ub4) OCI_HTYPE_ERROR,
52, (dvoid **) &tmp);
OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &srvhp, (ub4) OCI_HTYPE_SERVER,
52, (dvoid **) &tmp);

//OCIServerAttach( srvhp, errhp, (text *) 0, (sb4) 0, (ub4) OCI_DEFAULT);
OCIServerAttach( srvhp, errhp, (CONST text *)"sora8", (sb4)strlen("sora8"), (ub4) OCI_DEFAULT);

OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &svchp, (ub4) OCI_HTYPE_SVCCTX,
52, (dvoid **) &tmp);

OCIAttrSet( (dvoid *) svchp, (ub4) OCI_HTYPE_SVCCTX,
(dvoid *) srvhp, (ub4) 0,
(ub4) OCI_ATTR_SERVER, (OCIError *) errhp);
OCIHandleAlloc((dvoid *)envhp, (dvoid **)&usrhp, (ub4) OCI_HTYPE_SESSION,
(size_t) 0, (dvoid **) 0);
OCIAttrSet((dvoid *)usrhp, (ub4)OCI_HTYPE_SESSION,
(dvoid *)"scott", (ub4)strlen("scott"),
OCI_ATTR_USERNAME, errhp);
OCIAttrSet((dvoid *)usrhp, (ub4)OCI_HTYPE_SESSION,
(dvoid *)"tiger", (ub4)strlen("tiger"),
OCI_ATTR_PASSWORD, errhp);
OCISessionBegin (svchp, errhp, usrhp, OCI_CRED_RDBMS, OCI_DEFAULT);
OCIAttrSet((dvoid *)svchp, (ub4)OCI_HTYPE_SVCCTX,
(dvoid *)usrhp, (ub4)0,
OCI_ATTR_SESSION, errhp);
OCIHandleAlloc( (dvoid *) envhp, (dvoid **) &stmthp,
(ub4) OCI_HTYPE_STMT, 50, (dvoid **) &tmp);
OCIPasswordChange(svchp,errhp,(CONST text *)"scott", (ub4)strlen("scott"),
(CONST text *)"tiger", (ub4)strlen("tiger"),
(CONST text *)"ls", (ub4)strlen("ls"),OCI_DEFAULT);
MessageBox(NULL,"ls","ok",MB_OK);
OCIHandleFree((dvoid *) stmthp, (ub4) OCI_HTYPE_STMT);
OCISessionEnd(svchp, errhp, usrhp, (ub4)OCI_DEFAULT);
OCIServerDetach( srvhp, errhp, (ub4) OCI_DEFAULT );
OCIHandleFree((dvoid *) srvhp, (ub4) OCI_HTYPE_SERVER);
OCIHandleFree((dvoid *) svchp, (ub4) OCI_HTYPE_SVCCTX);
OCIHandleFree((dvoid *) errhp, (ub4) OCI_HTYPE_ERROR);

laser 2000-07-23
  • 打赏
  • 举报
回复
如果是window95,在\ORACLE_HOME\oci73\example下,注意如果是用borland c++要 用ORACLE_HOME\oci73\example\borland\demo6来试
hanjzh 2000-07-20
  • 打赏
  • 举报
回复
在ORACLE_HOME/plsql/demo目录下有例子

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧