博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库 Proc编程二
阅读量:6704 次
发布时间:2019-06-25

本文共 3473 字,大约阅读时间需要 11 分钟。

#define _CRT_SECURE_NO_WARNINGS#include 
#include
#include
#include "sqlca.h"//连接数据库/*EXEC SQL CONNECT {:user IDENTIFIED BY :oldpswd | :usr_psw } [[AT { dbname | :host_variable }] USING :connect_string ] [ { ALTER AUTHORIZATION :newpswd | IN { SYSDBA | SYSOPER } MODE }]; */EXEC SQL BEGIN DECLARE SECTION; char * serverid="scott/123456@orcl"; char user[32]; char passwd[32]; char sid[32];EXEC SQL END DECLARE SECTION;//user 用户名//passwd 密码//sid 数据库IDvoid main(){ int ret=0; //C语言中使用宿主变量 //printf("serverid=%s\r\n",serverid); printf("user:"); scanf("%s",user); printf("passwd:"); scanf("%s",passwd); printf("sid:"); scanf("%s",sid); //连接数据库方式一--在嵌入SQL编程中使用变量需要加: EXEC SQL connect:user IDENTIFIED BY :passwd USING :sid ; //连接数据库方式二 //EXEC SQL connect:serverid; if(sqlca.sqlcode!=0) { ret=sqlca.sqlcode; printf("connect err :%d",ret); system("pause"); }else { printf("connect ok!\r\n"); //提交事务断开连接 EXEC SQL commit release; printf("Oracle closed !\r\n"); system("pause"); }}
#define _CRT_SECURE_NO_WARNINGS#include 
#include
#include
#include "sqlca.h"EXEC SQL BEGIN DECLARE SECTION; char *user="scott"; char *passwd="123456"; char *sid="orcl"; char *linkf="link1";//通过宿主变量 指定名字 char *linkt="link2";EXEC SQL END DECLARE SECTION;//user 用户名//passwd 密码//sid 数据库IDvoid main(){ int ret=0; //连接数据库方式三 --多个用户连接多个数据库 EXEC SQL connect:user IDENTIFIED BY :passwd AT :linkf USING :sid ; if(sqlca.sqlcode!=0) { ret=sqlca.sqlcode; printf("connect1 err :%d",ret); system("pause"); }else { printf("connect1 ok!\r\n"); //提交事务断开连接 EXEC SQL commit release; printf("Oracle closed !\r\n"); //system("pause"); } EXEC SQL connect:user IDENTIFIED BY :passwd AT :linkt USING :sid ; if(sqlca.sqlcode!=0) { ret=sqlca.sqlcode; printf("connect2 err :%d",ret); system("pause"); }else { printf("connect2 ok!\r\n"); //提交事务断开连接 EXEC SQL commit release; printf("Oracle closed !\r\n"); //system("pause"); } system("pause");}
#define _CRT_SECURE_NO_WARNINGS#include 
#include
#include
#include "sqlca.h"//这里我用的是一个用户,其实也可以是多个用户EXEC SQL BEGIN DECLARE SECTION; char *user="scott"; char *passwd="123456"; char *sid="orcl";EXEC SQL END DECLARE SECTION;void main(){ int ret=0; //和第三种方式不同,由oracle自动分配 EXEC SQL DECLARE linkf DATABASE; EXEC SQL DECLARE linkt DATABASE; //连接数据库方式四 --注意linkf不再是宿主变量,所以不需要加: EXEC SQL connect:user IDENTIFIED BY :passwd AT linkf USING :sid ; if(sqlca.sqlcode!=0) { ret=sqlca.sqlcode; printf("connect1 err :%d",ret); system("pause"); }else { printf("connect1 ok!\r\n"); //提交事务断开连接 EXEC SQL commit release; printf("Oracle closed !\r\n"); //system("pause"); } EXEC SQL connect:user IDENTIFIED BY :passwd AT linkt USING :sid ; if(sqlca.sqlcode!=0) { ret=sqlca.sqlcode; printf("connect2 err :%d",ret); system("pause"); }else { printf("connect2 ok!\r\n"); //提交事务断开连接 EXEC SQL commit release; printf("Oracle closed !\r\n"); //system("pause"); } system("pause");}

 

转载地址:http://bhflo.baihongyu.com/

你可能感兴趣的文章
MySql多表联查
查看>>
硬盘整数分区最精确地方法
查看>>
Java基础--关于分支、循环、数组的部分练习题及详解
查看>>
分布式文件存储
查看>>
LVS高可用方案
查看>>
环形链表解决约瑟夫游戏问题
查看>>
NFS服务器
查看>>
MIUI V5八门神器不能用?一招教你搞定
查看>>
fastcgi_params 与 fastcgi.conf的差异
查看>>
文件操作最小权限
查看>>
系统学习redis之五——redis数据类型之list类型及操作
查看>>
Linux 中分区间数据迁移,原目录不变 - rsync
查看>>
学习规划
查看>>
[JS代码]如何判断ipad或者iphone是否为横屏或者竖屏 - portrait或者lan...
查看>>
我的Kali Linux***测试学习之路
查看>>
通过七层反向代理设置X-Frame-Options参数,实现页面frame防护/加载
查看>>
OKHTTP3 APNS推送时通过拦截器修改一些优化连接
查看>>
数据库审计---首选Netwrix的SQLsever数据库 审计工具
查看>>
itop 通过端口访问最简单设置方法
查看>>
web.xml 中的listener、 filter、servlet 加载顺序及其详解
查看>>