#include <string>
#include <iostream>
#include <stdio.h>
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <sqlucode.h> int main()
{ HENV henv;
RETCODE ret;
ret = ::SQLAllocEnv(&henv);
if(ret != SQL_SUCCESS)
{
std::cout << "alloc henv failed!" << std::endl;
return -;
}
HDBC hdbc;
ret = SQLAllocConnect(henv, &hdbc);
if(ret != SQL_SUCCESS)
{
std::cout << "alloc hdbc failed!" << std::endl;
return -;
} ret = SQLConnect(hdbc, (SQLCHAR *)("ORCL"),
,
(SQLCHAR *)("scott"),
,
(SQLCHAR *)("tiger"),
);
if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
std::cout << "connect failed!" << ret << std::endl;
return -;
}
HSTMT hstmt;
ret = SQLAllocStmt(hdbc, &hstmt);
if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
std::cout << "alloc stmt failed!" << std::endl;
return -;
}
SQLExecDirect(hstmt, (UCHAR *)("select * from dept"), SQL_NTS);
if(ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO)
{
std::cout << "exec failed!" << std::endl;
return -;
}
while( (ret = SQLFetch(hstmt)) != SQL_NO_DATA)
{
std::cout << "row" << std::endl;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"create table provider (sno char(5) primary key,sname char(10) not null,status int,city char(10))", SQL_NTS);
if(ret<)
{
std::cout<<"creat errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"insert into provider values('S1','精益','20','天津')",SQL_NTS);
if(ret<)
{
std::cout<<"s1 insert errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"insert into provider values('S2','西方','30','上海')",SQL_NTS);
if(ret<)
{
std::cout<<"s2 insert errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt,(SQLCHAR*)"insert into provider values('S3','邦飞','22','成都')",SQL_NTS);
if(ret<)
{
std::cout<<"s3 insert errors."<<std::endl;
return -;
} ret = SQLExecDirect(hstmt, (SQLCHAR*)"select sname, city FROM provider where sno='s1'", SQL_NTS);
if(ret<)
{
std::cout << "Executing statement throught ODBC errors." << std::endl;
return -;
} ret = SQLExecDirect(hstmt, (SQLCHAR*)"update provider set sname='浩瀚' where sno='s2'", SQL_NTS);
if(ret<)
{
std::cout <<" update s2 name error" << std::endl;
} ret = SQLExecDirect(hstmt, (SQLCHAR*)"drop table provider", SQL_NTS);
if(ret<)
{
std::cout << "drop table provider error." << std::endl;
return -;
} std::cout << "done!" << std::endl;
return ;
}

[solaris]odbc-oracle,简单测试的更多相关文章

  1. ORACLE 数据库简单测试

    ORACLE 数据库简单测试 操作系统:Windows 7 – ORACLE:oracle database 10.2.0.4 一.目的 测试 启动监听程序.数据库  非同一个用户的情况,用户是否可以 ...

  2. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  3. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  4. Oracle DG测试failover和后续恢复报告

    Oracle DG测试failover和后续恢复报告 一.概述 二.验证过程: 2.1 A库异常关闭 2.2 B库进行failover切换为新主库 2.3 要求C库成为新主库的备库 2.4 要求A库成 ...

  5. [20190423]简单测试latch nowilling等待模式.txt

    [20190423]简单测试latch nowilling等待模式.txt --//我对这个问题的理解就是如果参数willing=0,表示无法获取该latch,直接退出,再寻找类似的latch.--/ ...

  6. [20190211]简单测试端口是否打开.txt

    [20190211]简单测试端口是否打开.txt --//昨天看一个链接,提到如果判断一个端口是否打开可以简单执行如下:--//参考链接:https://dba010.com/2019/02/04/c ...

  7. TODO:Golang UDP连接简单测试慎用Deadline

    TODO:Golang UDP连接简单测试慎用Deadline UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interco ...

  8. .net orm比较之dapper和Entity Framework6的简单测试比较

    .net orm比较之dapper和Entity Framework6的简单测试比较

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试 系列目录 我想测试EF在一百万条数据下的显示时间! ...

  10. Javascript的简单测试环境

    在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很好的例子,既让我们得到了一个好用的小工具 ...

随机推荐

  1. Spring中注解的使用详解

    一:@Rsource注解的使用规则 1.1.案例演示 Spring的主配置文件:applicationContext.xml(因为我这里将会讲到很多模块,所以我用一个主配置文件去加载各个模块的配置文件 ...

  2. 常用网站开发类Firefox扩展插件 (转)

    作为一个 Web 开发人员,你几乎没有理由不喜欢Firefox,因为在Firefox下有很多专门针对开发的扩展插件,非常好用,这里就介绍一些常用的针对网站开发的FireFox扩展,供Web开发人员参考 ...

  3. PHP封装Excel表方法使用流程

    今天总结了一下Excel表的封装和导出使用,原理 经常使用与一些日常报表, 数据报表, 实现方法比较简单, 一次封装, 简单的方法调用,简单~ 废话不多说,直接入正题, 先说下重要的参数要记住的东西 ...

  4. 重读LPTHW-Lesson25

    1.ex25接触了字符串函数split().列表函数sorted().pop()函数,整理一下其用法以及其他常见的字符串.列表操作函数如下. (1)split()函数 split()是拆分字符串函数, ...

  5. 关于android socket出现at java.net.DatagramSocket java.net.BindException at libcore.io.IoBridge.bind(IoBridge.java:89)等waring

    经查,是socket地址重复使用的原因,将代码做如下改变即可. ctlClient = new DatagramSocket(TRANSCTLPORT); ctlClient = new Datagr ...

  6. python学习day3

    目录: 1.集合set 2.计数器 3.有序字典 4.默认字典 5.可命名元组 6.队列 7.深浅拷贝 8.函数 9.lambda表达式 10.内置函数 一.集合set set是一个无序且不重复的元素 ...

  7. Oracle 11gR2 RAC 安装配置

    1. 简介   Oracle RAC,全称real application clusters,译为"实时应用集群", 是Oracle新版数据库中采用的一项新技术,是高可用性的一种, ...

  8. 何謂COB (Chip On Board) ?介紹COB的演進歷史

    COB (Chip On Board)在電子製造業已經是一項成熟的技術了,可是一般的組裝工廠對它的製程並不熟悉,也許是因為它使用到一些 wire bond 的積體電路(IC)封裝技術,所以很多的成品或 ...

  9. Hive 4、Hive 的安装配置(远端MyMql模式)

    1.remote一体 这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务.这里用mysql的测试服务器,ip位192.168.1.214,新建hive_re ...

  10. HDFS的运行原理(转载)

    原文地址:http://www.cnblogs.com/laov/p/3434917.html 简介 HDFS(Hadoop Distributed File System )Hadoop分布式文件系 ...