当前位置: 首页 > news >正文

网站的推广方式有哪些免费网站空间 国外

网站的推广方式有哪些,免费网站空间 国外,wordpress通过百度验证,珠海百度快速优化文章目录OCCI概述OCCI介绍OCCI优势特性相关头文件OCCI库OCCI官方网站OCCI文档介绍和环境配置OCCI中连接Oracle数据库连接Oracle数据库示例OCCI中执行SQL语句OCCI中事务处理OCCI概述 OCCI介绍 Oracle C调用接口 – OCCI 即 Oracle C Call Interface OCCI 是Oracle 的C API, 允许…

文章目录

    • OCCI概述
      • OCCI介绍
      • OCCI优势
      • 特性
      • 相关头文件
      • OCCI库
      • OCCI官方网站
    • OCCI文档介绍和环境配置
    • OCCI中连接Oracle数据库
      • 连接Oracle数据库示例
    • OCCI中执行SQL语句
    • OCCI中事务处理

OCCI概述

OCCI介绍

Oracle C++调用接口 – OCCI 即 Oracle C++ Call Interface

OCCI 是Oracle 的C++ API, 允许你使用面向对象的特性、本地类、C++语言的方法来访问Oracle数据库

OCCI优势

OCCI提供其它访问ORACLE数据库所不具备的重要优势

  1. 基于标准C++和面向对象的设计

  2. 简单易用

  3. 与JDBC比较相近,容易学会

  4. 可以像操作C++实例一样操作用户定义的数据库对象

特性

  • 完整支持SQL/PLSQL
  • 为不断增长的用户和请求提供了弹性选项
  • 为使用用户自定义类型,如C++中的类,提供了无缝接口
  • 支持所有的Oracle数据类型以及LOB types(大对象)
  • 可以访问数据库元数据

相关头文件

#include <occi.h>   -- 程序中只需要包含这一个头文件//以下不需要添加
#include <occiCommon.h>
#include <occiControl.h>
#include <occiData.h>
#include <occiObjects.h>

OCCI库

  • Windows平台
    • oraocci11.lib/ oraocci11d.lib
    • oraocci11.dll/ oraocci11d.dll
  • Linux平台
    • libnnz11.so
    • libocci.so
    • libclntsh.so

OCCI官方网站

oracle官方网站:https://www.oracle.com/index.html

OCCI编程指南

C++参考网址:https://www.oracle.com/database/technologies/appdev/oci.html

OCCI文档介绍和环境配置

Vs2017环境的配置:

第一步: 配置头文件和库目录

在这里插入图片描述

注意: 添加库的时候 先添加oraocci11.lib 然后添加oraocci11d.lib

OCCI中连接Oracle数据库

8.1 初始化 - Environment 类
在这里插入图片描述

OCCI通过创建一个Environment的对象完成初始化工作。

可以通过Environment创建数据库连接,从而进行其它的操作

要创建Environment,应该调用Environment类的静态方法createEnvironment()

// 环境初始化
Environment* env = Environment::createEnvironment();
// 关闭, 释放资源
Environment::terminateEnvironment(env);

8.2 连接数据库 - Connection 类

连接数据库通过Connection类的对象实例实现

调用Environment类的**createConnection()**方法可以创建一个Connection对象;

函数原型

Connection *Environment::createConnection( const string &userName,const string &password, const string &connectString );

函数调用

const string userName = "scott";    // 用户名
const string passwd = "密码";  // 密码
const string connstr = "192.168.247.1:1521/orcl"; // 数据库连接串
Connection* conn = env->createConnection(userName, passwd, connstr);

使用**Environment::terminateConnection()**断开连接

// 断开连接
env->terminateConnection(conn);

连接Oracle数据库示例

#include <iostream>
#include <occi.h>using namespace std;
using namespace oracle::occi;  //命名空间int main(void)
{string name = "scott";string passwd = "11";string connectStr = "192.168.15.33:1521/orcl";//1. 创建OCCI的环境Environment *env = Environment::createEnvironment();if (NULL == env){cout << "createEnvironment failed...." << endl;return 1;}//2. 连接数据库Connection *connect = env->createConnection(name, passwd, connectStr);if (NULL == connect){cout << "CreateConnection failed..." << endl;return 1;}cout << "连接oracle服务端ok ..." << endl;//3. 关闭连接env->terminateConnection(connect);//4. 终止环境Environment::terminateEnvironment(env);return 0;
}

OCCI中执行SQL语句

执行SQL

Statement 类用于执行SQL语句,并获取返回结果。

ResultSet 类用于处理SELECT 查询的结果。

对于所有类型的数据的绑定或者获取,OCCI都提供了统一的方法

  • setXXX 方法用于Statement
  • getXXX 方法用于Statement & ResultSet

OCCI会自动处理类型之间的转换。

使用方法:

使用Connection:😗*createStatement()**创建Statement对象, 指定 SQL 命令(DDL/DML/query)作为参数

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>#include <occi.h>using namespace std;
using namespace oracle::occi;int main()
{string dbUser = "scott";string dbPwd = "11";string connStr = "192.168.16.47:1521/orcl";//1. 创建OCCI环境Environment *env = Environment::createEnvironment();if (NULL == env){cout << "createEnvironment failed.." << endl;return 1;}cout << "创建一个环境ok" << endl;{//2. 连接到数据库Connection *conn = env->createConnection(dbUser, dbPwd, connStr);if (NULL == env){cout << "createConnection failed.." << endl;return 1;}cout << "连接Oracle ok" << endl;//创建语句对象Statement *stmt = conn->createStatement();//执行select语句//stmt->executeUpdate("insert into dept values(9, '9name', '9loc')");//执行delete语句//stmt->executeUpdate("delete from dept where deptno = 9");//执行Update语句stmt->executeUpdate("update dept set dname = '8AAA', loc='8LOC' where deptno = 8");#if 0//使用预处理语句stmt->setSQL("insert into dept values(:1, :2, :3)");stmt->setInt(1, 9);stmt->setString(2, "9Name");stmt->setString(3, "9Loc");stmt->executeUpdate();
#endif//查询ResultSet *rs = stmt->executeQuery("select deptno, dname from dept");int id = -1;string name;//获取结果while (rs->next()){id = rs->getInt(1);name = rs->getString(2);cout << id << endl;}stmt->closeResultSet(rs);//终止语句对象conn->terminateStatement(stmt);//3. 终止连接env->terminateConnection(conn);}//4. 终止一个环境Environment::terminateEnvironment(env);cout << "hello itcast" << endl;system("pause");return 0;
}

OCCI中事务处理

#include <iostream>
#include <occi.h>
#include <string>
using namespace std;
using namespace oracle::occi;int main()
{// 1. 初始化连接环境Environment* env = Environment::createEnvironment();// 2. 创建连接string userName = "scott";string passwd = "tiger";string connstr = "192.168.247.129:1521/orcl";// conn是建立连接之后得到的对象Connection* conn = env->createConnection(userName, passwd, connstr);if (conn == NULL){cout << "连接失败..." << endl;return -1;}cout << "数据库连接成功..." << endl;// 3. 创建一个用户操作sql的对象// key给这个函数指定sql语句也可以不指定Statement* stat = conn->createStatement();// 如果没有指定执行的sql可以通过set方法指定string sql = "select * from dept";// stat->setSQL(sql);// 执行sql语句ResultSet* resSet = stat->executeQuery(sql);// 取出所有的记录while (resSet->next()){// 每循环一次读一条记录// 读出这条记录的三个字段int no = resSet->getInt(1); // 1 - 第一个字段string str1 = resSet->getString(2);string str2 = resSet->getString(3);cout << "no: " << no << endl;cout << "name" << str1 << endl;cout << "loc" << str2 << endl;}// 关闭结果集stat->closeResultSet(resSet);// 插入语句// 设置sql语句// occi dml 会自动打开一个事务sql = "insert into dept values(:1, :2, :3)";stat->setSQL(sql);stat->setInt(1, 66);stat->setString(2, "itcast");stat->setString(3, "china");// 执行sql语句
#if 0int ret = stat->executeUpdate();if (ret == 0){cout << "insert fail..." << endl;// 失败状态回滚conn->rollback();return -1;}conn->commit();
#else// 设置事务的自动处理stat->setAutoCommit(true);int ret = stat->executeUpdate();if (ret == 0){cout << "insert fail..." << endl;// 失败状态回滚return -1;}
#endifconn->terminateStatement(stat);env->terminateConnection(conn);// 释放资源Environment::terminateEnvironment(env);return 0;
}
http://www.dtcms.com/a/402632.html

相关文章:

  • 搭建网站什么意思网站建设的规划
  • 网站开发还找到工作吗爱吧
  • 中国建设银行大学助学贷款网站哈尔滨雕塑制作厂家
  • 游戏网站开发过程青岛网页搜索排名提升
  • 外贸电商怎么做百度荤seo公司
  • 商城的网站建设云南酒店网站建设
  • 做网站每个月可以赚多少钱如何提高网站的访问速度
  • 正规的网站制作服务电话河南今天发生的重大新闻
  • 可以做动图的视频网站重庆设计网站
  • 删除网站备案厦门电子网站建设
  • 阿里巴巴免费做网站吗nginx wordpress php7
  • 做网站只有域名龙华建站公司
  • 电商运营方案计划书windows优化大师是电脑自带的吗
  • 网站积分解决方案网站后台修改
  • 个人网站名称举例付费阅读wordpress
  • 网站必须做电子认证吗网页排版怎么设置
  • 亚马逊网站怎么做东莞免费模版网站建设
  • 高端网站建设服务商网站架构包含哪几部分
  • 网站架设方式wordpress类目权限
  • 科技网站大全品牌网站开发公司
  • 东营建设信息网老网站上海巨型网站建设
  • 电商网站设计案例高端网站建设哪个好
  • 网站建设缺乏个性东营建设网站公司
  • 网站是如何设计配置方案的做网站 价格
  • 最全的网站大全图片在线制作表情
  • 网站 外包方案北京电商购物网站
  • 天津住房与城乡建设厅网站首页网站的代理页面怎么做
  • 济南建站公司电话学做网站论坛会员账号
  • 网站开发与维护实训总结wordpress安装在子目录
  • 成都个人兼职做网站wordpress做成网盘