• DB2 9 运用开拓(733 测验)认证指南,第 5 部门: CLI/ODBC 编程(7)


    developerWorks







    制止语

    本教程的方针是引见 CLI/ODBC 编程,并分析');注解开拓 CLI/ODBC 运用挨次的步调。嵌入式 SQL 编程最大的缺陷是开拓的运用挨次缺乏互哄骗性:专门为 DB2 开拓的嵌入式 SQL 运用挨次必须经过改削(在某些环境下乃至要完全重写)之后,才能与其他相干数据库办理系统(RDBMS)交互。由于每个嵌入式 SQL 运用挨次都存在如许的限定,因此 X/Open Company 和 SAG(现在属于 X/Open)联合为可挪用 SQL 接口开拓了一个规范规范。这个接口被称为 X/Open CLI。在 1992,Microsoft 为 Microsoft Windows 哄骗系统开拓了一个名为 Open Database Connectivity (ODBC) 的可挪用 SQL 接口。ODBC 基于 X/Open CLI 规范规范,并供给了 X/Open CLI 所没有的扩展功用。DB2 的 Call Level Interface(也称 DB2 CLI)则基于 ISO CLI 国际规范,并供给了 ODBC 规范中具有的大少数功用。

    一切 CLI/ODBC 运用挨次都实行三种差此外任务:

    • 初始化
    • 事变处置
    • 制止

    在初始化时代,次要事变是分派(并初始化)处置事变所需的本钱,并建立到与事变处置任务存在交互的数据源的衔接。CLI/ODBC 运用挨次运用的本钱由公用数据存储区构成,这些数据存储区由专一的句柄标识。有 4 种差别范例的句柄:

    • 环境句柄: 指向一个数据存储区的指针,该数据存储区包括特定于 CLI/ODBC 的全局信息。

    • 衔接句柄:指向一个数据存储区的指针,该数据存储区包括关于 CLI/ODBC 办理的数据源(数据库)衔接的信息。

    • 语句句柄:指向指向数据存储地域的指针,该数据存储区包括单个 SQL 语句有关的特定信息。

    • 描画符句柄:指向一个数据存储地域的指针,该数据存储区包括一个元数据集合,这些元数据描画被绑定到 SQL 语句中的参数标记的运用挨次变量,大约被绑定到盘诘成果数据齐集列的运用挨次变量。

    每个 CLI/ODBC 运用挨次必须从分派一个环境句柄初步。每个运用挨次通常只分派一个环境句柄,在分派其他句柄之前,这个环境句柄必须曾经存在。一切其他句柄都是在环境句柄的上下文中办理的。到数据源的衔接经由用于处置 SQL 语句的衔接句柄和语句句柄来建立。

    要对一个数据库实行任何范例的哄骗,首先必须建立到那个数据库的衔接。在 CLI/ODBC 运用挨次中,有 3 个差此外函数可用于建立数据源(数据库)衔接。这 3 个函数是:

    • SQLConnect()
    • SQLDriverConnect()
    • SQLBrowseConnect()

    实行完得当的初始化,而且建立好数据库衔接之后,重心就应该转移各处置事变下去。在事变处置时代,经由差此外 CLI/ODBC 函数挪用将盘诘和哄骗数据的 SQL 语句传到达得当的数据源(在这里主要是 DB2 数据库),以便截止处置。在事变处置时代,CLI/ODBC 运用挨次顺次实行以下 5 个步调:

    1. 分派一个或多个语句句柄。
    2. 准备和实行一个或多个 SQL 语句。
    3. 检索和处置孕育发生的成果。
    4. 经由提交或回滚制止今后事变。
    5. 释放分派的一切语句句柄。

    由于一个 CLI/ODBC 运用挨次可以衔接到很多范例的数据源,因此有功夫需要获取关于运用挨次所衔接到的特定数据源的信息。凭据设计,一切 CLI/ODBC 驱动挨次必须支持三个特定的函数,这些函数供给关于驱动挨次自身功用以及驱动挨次底层数据源功用的信息。经由运用这组函数,运用挨次可以确定特定数据源的功用和限定,并呼应地调整它的举动。第一个函数是 SQLGetInfo(),该函数用于获取关于一个数据库的差别特性的信息。第二个函数是 SQLGetFunctions(),该函数敷陈运用挨次一个数据源/驱动挨次能否支持特定的 CLI/ODBC 函数。最后一个函数是 SQLGetTypeInfo(),该函数为运用挨次供给关于数据源所运用的当地数据范例的信息。

    SQLGetInfo()SQLGetFunctions()SQLGetTypeInfo() 函数所前往的信息是静态的 —— 也等于说,这三个函数前往的关于数据源/驱动挨次的特性的信息不能经由挪用运用挨次来改削。不过,大多对折据源驱动挨次还包括一些可以变化的信息,经由变化这些信息可以转变驱动挨次关于特定运用挨次的举动。这种信息被称为驱动挨次属性,有三种类型的驱动挨次属性可用:

    • 环境属性
    • 衔接属性
    • SQL 语句属性

    每当挪用一个 CLI/ODBC 函数时,都会将一个特殊的值,即所谓的前往码,前往给挪用的运用挨次,以批注函数能否按预期实行。要是由于某种缘由函数没有成功实行,那么生成的前往码的值就可以指示函数掉败的缘由。当然前往码可以敷陈运用挨次能否遇到错误或告诫,但是它不能为运用挨次供给关于是什么招致错误或告诫呈现的仔细信息。由于在处理一个成果时,通常还需要关于一个错误或告诫的更多信息,因此 DB2 (以及其他相干数据库产物)运用一组错误旧事码,即所谓的 SQLSTATE 来供给告诫和错误的填补诊断信息。那么,当 CLI/ODBC 函数未能精确实行时,如何获取 SQLSTATE 值、诊断旧事和当地错误代码呢?这些信息可以经由挪用 SQLGetDiagRec() 函数、SQLGetDiagField() 函数或同时挪用这两个函数获得。这两个函数承受一个环境句柄、衔接句柄、语句句柄或描画符句柄作为输出,然后前往关于最近运用指定句柄实行的 CLI/ODBC 函数的诊断信息。

    编写好一个 CLI/ODBC 源代码文件之后,必须运用得当的低级编程言语编译器(譬喻 GCC 或 Visual C )对它截止编译。编译器担任将源代码文件转换成对象模块,之后,链接器就可以运用这个对象模块来创建一个可实行挨次。链接器将对象文件与低级编程言语库组装起来,孕育发生一个可实行的运用挨次。关于大少数哄骗系统,这个运用挨次是可以作为独立挨次运转的一个可实行模块。但是,它也大约是可由另一个可实行模块运用的一个共享库或静态链接库。





    版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始情由 、作者信息和本声明。不然将清查规矩责任。

  • 相关阅读:
    python爬虫知识点总结(二十一)Scrapy中Spiders用法
    python爬虫知识点总结(二十)Scrapy中选择器用法
    python爬虫知识点总结(十九)Scrapy命令行详解
    python爬虫知识点总结(十八)Scrapy框架基本使用
    python爬虫知识点总结(十七)Scrapy框架安装
    python爬虫知识点总结(十六)PySpider框架概述和用法详解
    python爬虫知识点总结(十五)PySpider框架基本使用以及抓取TripAdvisor
    python爬虫知识点总结(十四)使用Redis和Flask维护Cookies池
    python爬虫知识点总结(十三)使用代理处理反扒抓取微信文章
    图像识别
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1972839.html
Copyright © 2020-2023  润新知