二、进阶教程

参看官方文档实例,有详细的说明,包括:查询获取数据、绑定向量、数据库连接池、12c隐式结果集、使用Oracle对象和数据库通知等例子。这里只做一个最简单的插入数据演示。

1、简单的封装

void COciUtil::Init()

{

CString strAppPath = CMyFileUtil::GetAppPathW();//获得程序运行目录

ostring ociDllPath = CW2A(strAppPath);

try

{

Environment::Initialize(Environment::Default,ociDllPath);

}

catch (std::exception& e)

{

CString text(e.what());

AfxMessageBox(text);

}

}

void COciUtil::Clean()

{

try

{

conn.Close();

Environment::Cleanup();

}

catch (std::exception& e)

{

CString text(e.what());

AfxMessageBox(text);

}

}

BOOL COciUtil::Connect(CString ip,int port,CString serviceName,CString username,CString password)

{

try

{

CString strDB;

strDB.Format(L"%s:%d/%s",ip,port,serviceName);

char* db = CW2A(strDB);

char* user = CW2A(username);

char* pw = CW2A(password);

conn.Open(db,user,pw);

if (conn.IsNull())

return FALSE;

else

return TRUE;

}

catch (std::exception& e)

{

CString text(e.what());

AfxMessageBox(text);

return FALSE;

}

}

2、插入数据库

这里向数据库中插入数字、文本、时间、二进制。

BOOL COciDao::InsertTest()

{

try

{

COciUtil oci;

ocilib::Statement st(oci.conn);

st.Prepare("insert into TEST(ID,TEXT,TIME,BIN) values ( :id , :text , :date , :blob )");

int id = 123;

char* binaryText = "eee向天歌浮绿水";

ocilib::Blob blob(oci.conn);

vector list;

list.resize(strlen(binaryText));

for (int i=0;i

{

list.push_back(binaryText[i]);

}

blob.Write(list);

ostring ostr = "texttexttext";

COleDateTime time = COleDateTime::GetCurrentTime();

ocilib::Date date = COleDateTime2Date(time);

st.Bind(":id",id,BindInfo::InOut);

st.Bind(":text",ostr,50,BindInfo::InOut);

st.Bind(":date",date,BindInfo::InOut);

st.Bind(":blob",blob,BindInfo::InOut);

st.ExecutePrepared();

oci.conn.Commit();

oci.Clean();

}

catch (std::exception &e)

{

//cout<

CString text(e.what());

AfxMessageBox(text);

}

}

oci连接mysql_OCILIB 连接Oracle数据库——插入数据相关推荐

  1. 在Linux中通过shell脚本向oracle数据库插入数据

    通过shell脚本向oracle数据库插入数据 思路 实现 shell脚本 数据文件 测试 思路 如何通过shell脚本更新数据库数据?要解决这个问题,首先,我们需要在脑中回忆一下我们通常是如何更新数 ...

  2. 使用mybatis向oracle数据库插入数据异常

    遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...

  3. oracle xe 乱码_解决关于:Oracle数据库 插入数据中文乱码 显示问号???

    ABP(现代ASP.NET样板开发框架)系列之19.ABP应用层--审计日志 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之19.ABP应用层--审计日志 AB ...

  4. oracle 数据导入不成功,node.js往oracle数据库插入数据失败

    源码: var oracledb = require('oracledb'); oracledb.getConnection({ user: "hr", password: &qu ...

  5. python连接oracle数据库 插入clob类型数据

    python连接oracle数据库 插入clob类型数据 连接数据库 import cx_Oracle as cx #导入模块 con = cx.connect('root', 'root123', ...

  6. Python连接SAP HANA数据库插入数据

    工作的时候需要往HANA数据库插入一些测试数据,我使用的连接HANA的工具DBeaver又不能像Mysql那样批量执行多条插入语句,就想用python连接HANA往里循环插入数据,由于代码水平有限,尝 ...

  7. jdbc链接mysql按照id查询_使用jdbc连接并操作Oracle数据库(增删改查IDUS)

    使用jdbc连接并操作Oracle数据库(增删改查IDUS) [oracle@zaibei-db ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Pro ...

  8. C#如何操作Oracle并向数据库插入数据

    今天在做一个功能,在C#中连接数据库并向数据库插入数据.现在总结起来很简单. 1.首先添加微软的DLL--System.Data.OracleClient.dll,注意这里可能会提示此DLL过时,别怕 ...

  9. 连接多个oracle数据库的配置,oracle数据库连接配置文件

    Q1:C#连接oracle数据库Add.config配置文件怎么写 C#连接Oracle数据库(查询数据)using System; using System.Collections.Generic; ...

最新文章

  1. Nginx + Tomcat 负载均衡集群配置
  2. 虚幻引擎发布4.8版,支持VR虚拟设备
  3. Solaris的硬件相关命令
  4. windows和linux命令的区别,linux和windows命令区别
  5. “小心!有人在偷看你手机!”谷歌搞了个被偷窥提醒算法
  6. 关于java.lang.reflect.InvocationTargetException。
  7. 小班语言教案《水果屋》
  8. 深度学习Tir-Hi3559A使用unbuntu系统
  9. Java 2.2(计算圆柱的体积)编写程序,读入圆柱体的半径和高,并使用下列公式计算圆柱体的体积:
  10. python爬虫爬取网页图片存储本地_Python爬虫抓取糗百的图片,并存储在本地文件夹...
  11. Win7系统一直提示盗版怎么办【系统天地】
  12. Reactor3 Mono
  13. 搜狗搜索php,搜狗搜索公众号内容提取
  14. 改变elementui卡片crad样式_Ueditor文字和echarts图片 生成 word 前端解决方案
  15. 莫比乌斯进阶:bzoj 3994 约数个数和(Mobius)
  16. QQ邮箱设置企业邮箱别名邮箱
  17. 动态网站搭建(jsp+servlet)
  18. 微信支付页面模板html,jQuery仿手机微信支付输入密码界面效果
  19. 云栖大会·南京峰会落下帷幕,阿里云都干了些什么?
  20. 二进制字节数组与十六进制字符串间的转换

热门文章

  1. CCKS 2019 | 百度 CTO 王海峰详解知识图谱与语义理解
  2. day38-数据库应用软件
  3. phpstorm 不能自动打开上次的历史文件
  4. phpmyadmin登陆错误:The requested URL /phpmyadmin was not found on this serve
  5. linux的基础知识——shell语法
  6. 牛客16426 玩具谜题
  7. oc 画一个圆弧_UG建模一个蜗杆的方法,纯手工建模无插件
  8. vts传感器采取船舶的_智慧船舶交通管理系统
  9. 计算机二级vf上机试题,计算机二级VF上机模拟题
  10. 火狐导cookie文件没反应_效率指南|实操区分FireFox火狐的国内版和国际版