嵌入式SQL笔记
来源:互联网 发布:收购淘宝账号400元 编辑:程序博客网 时间:2024/06/05 06:10
嵌入式SQL是用于C和C++编程语言的数据库编程接口。它由混杂在(嵌入于)C或C++源代码中的SQL语句组成。这些SQL语句先由SQL预处理器转换为C或C++源代码,然后再进行编译。
在运行时,嵌入式SQL应用程序是用数据库的接口库与数据库服务器进行通信。在大多数平台上,接口库是一个动态连接库(DLL)或共享库。
在Windows操作系统上,接口库是dblib9.dll。
在UNIX操作系统上,接口库会是libdblib9.so、libdblib9.sl、或libdblib9.a(视操作系统而定)。
开发过程概述:
在对程序成功地进行预处理和编译后,就可以将它与Adaptive Server Anywhere接口库的导入库链接在一起,以形成可执行文件。在运行数据库时,这个可执行文件使用Adaptive Server Anywhere DLL与数据库交互作用。在对程序进行预处理时,不必运行数据库。
对于Windows、Watcom C/C++ 、Microsoft Visual C++和Borland C++各自有单独的导入库。
使用导入库是开发调用DLL中函数的应用程序的标准方法。
嵌入式SQL程序的结构:
SQL语句置于(嵌入)常规C或C++代码内。所有嵌入式SQL语句都以EXEC SQL开头,并以分号(;)结尾。在嵌入式SQL语句的中间允许使用常规C语言注释。
使用嵌入式SQL的每个C程序都必须在源文件中任何其它嵌入式SQL语句之前包含以下语句:
EXEC SQL INCLUDE SQLCA;
由C程序执行的第一个嵌入式SQL语句必须是CONNECT语句。CONNECT语句用于建立与数据库服务器的连接,以及指定连接期间用于授权执行的所有语句的用户ID。
CONNECT语句必须是执行的第一个嵌入式SQL语句。有些嵌入式SQL命令不生成任何C代码,或者不会涉及与数据库通信。因此,允许在CONNECT语句之前使用这些命令。最主要的是INCLUDE语句和指定错误处理方法的WHENEVER语句。
使用主机变量:
主机变量是供SQL预处理器识别的C语言变量。主机变量可用于将值发送到数据库服务器或从数据库服务器接受值。
主机变量非常易于使用,但是它们具有一些限制。动态SQL是一种向数据库服务器和从数据库服务器中传递信息的更常用的方法,它使用被称为[SQL描述符区域](SQLDA)的结构。SQL预处理器为使用主机变量的每个语句自动生成SQLDA。
声明主机变量:
主机变量是通过将它们放入声明部分来定义的。按照IBM SAA和ANSI嵌入式SQL标准,主机变量是通过用一下内容围绕常规C变量声明定义的:
EXEC SQL BEGIN DECLARE SECTION;
/*C variable declarations*/
EXEC SQL END DECLARE SECTION;
然后,可以使用这些主机变量代替任意SQL语句中的值常量。在数据库服务器执行命令时,会使用主机变量的值。注意,不能使用主机变量代替表名或列名:这需要使用动态SQL。在SQL语句中,变量名以冒号(:)为前缀,以便与语句中使用的其它表示服区别开。
标准SQL预处理器不扫描位于DECLARE SECTION之外的C语言代码。因此,不允许使用TYPEDEF类型和结构。在DECLARE SECTION之内允许使用变量中的初始化程序。
- 嵌入式SQL笔记
- 嵌入式SQL
- 嵌入式SQL
- 嵌入式SQL
- 嵌入式SQL
- 嵌入式SQL
- 嵌入式笔记
- 嵌入式笔记
- 嵌入式SQL介绍
- 嵌入式SQL实验
- 嵌入式SQL和事务
- 嵌入式SQL介绍
- 嵌入式sql的示例
- 嵌入式SQL(C)
- 嵌入式SQL介绍
- 嵌入式SQL-C
- 嵌入式动态SQL
- 4-4嵌入式SQL
- joj 1920解题报告
- 第九讲 网络编程
- BCB配置和使用GDI+
- FlexPaper使用小记
- XManager 系统配置
- 嵌入式SQL笔记
- 浅谈利用逻辑回归来解决文本分类时的模型调优
- C语言中嵌入式SQL语句
- Installation Instructions for Linux Systems
- Oracle sql 性能优化【来自于网络】
- Java之异常与错误的区别及java的异常体系
- 开始TMS320C6000系列DSP硬件的学习
- SQL优化34条
- 详解Heritrix多线程结构