`
akiraray
  • 浏览: 90322 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Pro*C 基础教程-简化版_Vol4 登录

阅读更多

前言

任何操作数据库的动作,都需要登录数据库,而本次的内容主要介绍怎么让代码与ORACLE数据库连接。

 

一、通讯中的几个概念

节点

网络中的通讯点叫做节点,一般而言都是将数据从一个节点传输到另外一个节点

 

协议

网络上存储的一组规则。

 

SQL*Net连接语法

SQL*Net通过DECnet(协议)的默认数据库连接语法为

d:node

默认数据库连接

每个节点都有一个默认数据库。如果在CONNECT语句中,指定节点而不指定数据库,则默认连接到节点的默认数据库上。

CONNECT没有AT子句,就是使用默认连接;同样的,如果纯在AT子句,就是有相关操作。

 

二、登录节点默认数据库

使用IDENTIFIED BY子句

EXEC SQL CONNECT :username IDENTIFIED BY :password

 

没有IDENTIFIED BY子句

EXEC SQL CONNECT :user_pwd;

:user_pwd的格式为 username/password

 

自动登录

使用 OPS $username ,其中username为当前登录到操作系统上的用户的名称或者人物名,且是有效的ORACLE用户名,只需要将 '/’传递给预编译程序

EXEC SQL DECLARE BEGIN SECTION ;

char oracleid=’/’;

EXEC SQL DECLARE END SECTION ;

EXEC SQL CONNECT :oracleid

 

三、单显示登录

 

显示登录就是使用AT子句的登录

VARCHAR username[10];

VARCHAR password[10];

VARCHAR  db_name[20];

char db_link_name[10];

 

strcpy(username.attr,”USERNAME);

username.len=strlen(username.attr);

……

EXEC SQL DECLARE db_link_name DATABASE;

EXEC SQL CONNECT :username IDENTIFIED BY :password

AT db_link_name USING :db_name;

 

在非默认的连接上执行SQL语句

EXEC SQL AT db_link_name SELECT …

EXEC SQL AT db_link_name INSERT

EXEC SQL AT db_link_name UPDATE

EXEC SQL AT db_link_name DELETE

 

游标控制

不能在游标控制语句中使用AT。需要在DECLARE CURSOR语句中使用AT子句。

EXEC SQL AT:db_link_name DECLARE temp_cursor CURSOR FOR …

EXEC SQL OPEN temp_cursor;

EXEC SQL FETCH temp_cursor;

EXEC SQL CLOSE temp_cursor;

 

在光标打开过程中,无法修改db_link_name

 

动态SQL

动态方法1:子句中使用AT子句

EXEC SQL AT db_link_name EXECUTE IMMDEIATE :sql_statement

动态方法2,3和4:

在DECLARE STATEMENT的时候使用AT子句

动态方法2:

EXECSQL AT db_link_name DECLARE sql_stmt STATEMEMT

EXECSQL PREPARE sql_stmt FROM :sql_string

EXECSQL EXECUTE sql_statement;

 

动态方法3:

EXECSQL AT db_link_name DECLARE sql_stmt STATEMEMT;

EXECSQlL PREPARE sql_stmt FROM :sql_string;

EXECSQL DECLARE temp_cursor CURSOR FOR sql_stmt;

EXECSQL OPEN temp_cursor;

EXECSQL FETCH temp_cursor INTO…

EXECSQL CLOSE emp_cursor;

 

四、并行登录

多显示登录

使用AT子句用于显示登录。

EXEC SQL BEGIN DECLARE SECTION;

char username[10];

char password[10];

char db_name1[20];

char db_name2[20];

EXEC SQL END DECLARE SECTION;

 

strcpy(db_name1,”d:newyork_nondef1”);

strcpy(db_name1,”d:newyork_nondef2”);

/* 给每个数据库命名一个连接名*/

EXEC SQL DECLARE db_link_name1 DATABASE;

EXEC SQL DECLARE db_link_name2 DATABASE;

/*连接到两个数据库上*/

EXEC SQL CONNECT :username IDENDIFIED BY:password

AT db_link_name1 USING :db_name1;

EXEC SQL CONNECT :username IDENDIFIED BY:password

AT db_link_name2 USING :db_name2;

 

隐式登录

EXEC SQL CREATE DATABASE LINK db_link

USING ‘d:newyork_nondef’;

 

EXEC SQL SELECT * INTO:xxx FROM emp@db_link WHERE DEPTNO=:dept_number;

0
0
分享到:
评论

相关推荐

    ProC 基础教程-简化版_Vol4 登录

    ### ProC基础教程简化版Vol4:登录详解 #### 前言 本文档旨在详细介绍如何使用Pro*C/C++(简称ProC)与Oracle数据库进行交互,并特别关注于登录过程。无论是在开发还是维护阶段,登录操作都是必不可少的一步,它...

    ProC 基础教程-简化版_Vol5 基本增删改

    ### ProC基础教程—简化版 Vol5:基本增删改 #### 数据插入 **概述** 在Pro*C/C++(简称ProC)中进行数据插入,主要是通过嵌入式的`INSERT`语句来实现的。ProC是一种将SQL语句嵌入到C语言中的编程方式,它允许...

    i-KlPrice_Vol_Direct_HTF - MetaTrader 5脚本.zip

    《MetaTrader 5中的i-KlPrice_Vol_Direct_HTF脚本详解》 MetaTrader 5(MT5)是一款广泛应用于外汇、期货和股票市场的交易平台,它为交易者提供了丰富的技术分析工具和自动化交易功能。本文将深入探讨标题为“i-...

    LS-DYNA 971 R6.1.0关键字手册卷二[LS-DYNA_manual_Vol_II_R6.1.0]

    本次介绍的文档——“LS-DYNA 971 R6.1.0关键字手册卷二”(LS-DYNA_manual_Vol_II_R6.1.0)是关于**LS-DYNA**软件中材料模型部分的详细介绍,发布于2012年8月,版本号为971 R6.1.0。 #### 二、文档结构与主要内容 ...

    PBR_Guide_PBR_vol-2详解_中文版.rar

    《PBR_Guide_PBR_vol-2详解_中文版》是一个关于物理渲染(PBR,Physics-Based Rendering)的深入指南,旨在帮助读者理解和掌握这一现代3D图形技术的核心概念和应用。PBR是一种广泛应用于游戏开发、电影制作、虚拟...

    ProC 基础教程-简化版 Vol2 通讯区

    ### ProC基础教程—简化版Vol2:通讯区详解 #### 一、通讯区简介 在Oracle数据库的应用程序开发过程中,通讯区起到了桥梁的作用,它能够帮助开发者获取SQL语句执行后的状态信息,从而便于进行错误处理和追踪。...

    Exp_i-KlPrice_Vol_Direct - MetaTrader 5EA.zip

    《基于i-KlPrice_Vol_Direct指标信号的MetaTrader 5 EA交易系统详解》 在金融交易领域,自动交易系统已经成为许多投资者和交易者的首选工具。MetaTrader 5(MT5)作为一款强大的外汇交易平台,提供了丰富的功能,...

    LS-DYNA 971 R6.1.0关键字手册卷一[LS-DYNA_manual_Vol_I_R6.1.0]

    **4. 示例说明** - 手册中提供了大量实用案例,如汽车碰撞测试、爆炸模拟等,通过这些实例,用户可以更好地理解如何将理论应用到实践中去。 #### 三、LS-DYNA关键词手册卷一的重要知识点 **1. 基础概念** - **...

    i-KlPrice_Vol_Direct - MetaTrader 5脚本.zip

    首先,"i-KlPrice_Vol_Direct"脚本的核心是其自定义指标i-KlPrice_Vol,它以柱形图为基础,揭示了价格变动的方向。在传统的柱形图中,每一根柱子代表一段时间内的开盘价、收盘价、最高价和最低价。而此指标则在这些...

    Infineon-AURIX_TC39x_UserManual-v01_0..pdf

    Infineon-AURIX_TC39x_UserManual- V1.5 2020.04

    *MAT_Concrete_Damage_Rel3参数

    #### 基础概述 *MAT_Concrete_Damage_Rel3 是 LS-DYNA 中用于模拟混凝土材料在动态载荷作用下的损伤行为的一种材料模型。此模型考虑了混凝土在不同应力状态下的损伤演化机制,并能够较好地模拟裂纹的发展与扩展过程...

    EP-DCXX84_V1 Experion Control Builder Components Theory Vol 1 of 2.pdf

    根据提供的文档信息,本文将对《EP-DCXX84_V1 Experion Control Builder Components Theory Vol 1 of 2》这一文档所涉及的核心知识点进行详细的解析与介绍。该文档主要介绍了Honeywell Experion Control Builder软件...

    PBR材质宝典_PBR_Guide_Vol2_中文版_vol_pbr_pbrt_

    《PBR材质宝典_PBR_Guide_Vol2_中文版》是一本专注于PBR(基于物理的渲染,Physics-Based Rendering)技术的专业书籍,对于学习和掌握PBR材质系统具有极高的价值。PBR是现代3D图形学中的重要概念,它通过模拟真实...

    Exp_i-KlPrice_Vol - MetaTrader 5EA.zip

    《基于i-KlPrice_Vol指标信号的MetaTrader 5 EA交易系统详解》 在外汇交易领域,自动化交易系统(Expert Advisor,简称EA)已成为许多交易者的首选工具,以提高交易效率和降低人为错误。本文将详细介绍一个名为"Exp...

    325462-sdm-vol-1-2abcd-3abcd_intel处理器开发手册_44200_volume_

    本文档包含Intel 64和IA-32架构软件开发者手册的全部四卷。基本架构,卷号 253665;指令集参考 A-Z,卷号 325383;系统编程指南,卷号号 325384;特定型号寄存器,卷号号 335592。在评估您的设计需求时,请参考所有...

    Infineon-AURIX_TC37x-UserManual-v01_00-EN

    4. "Bus Instance SPB"描述了服务总线(Service Peripherals Bus),这是一种用于通信和控制外设的专用总线。 5. "Revision History"列出了手册的更新记录,展示了文档随产品改进的历程。 "TC37x Firmware"章节可能...

    SBC-210 的PDF文档

    - USB0_1, USB2_3, USB4_5 #### 十七、mSATA 选择 (mSATA Selection) - **位置编号:**5 - **功能:** - 用于配置mSATA插槽的功能。 - **配置选项:** - **1-2:** SATAII_2 + mini-PCIe - **2-3:** mSATA, ...

Global site tag (gtag.js) - Google Analytics