ODBC 基础

odbc

ODBC 基础
这是使用 win32asm进行数据库编程系列的第一份教程。在如今的IT界,数据库编程变的越来越重要,所以我们不能再忽视它。但如今有很多种数据库在使用,如果我们为了实现win32下数据库汇编语言编程而学习各种数据库文件格式,所花时间大概称得上“永恒”。

幸运的是,Microsoft的一项技术使得我们得以摆脱这个大麻烦。它被称为ODBC,是开放式数据库互连(Open Database Connectivity)的缩写,这是一族API,与Windows API相似。它主要与数据库打交道。就是说,利用ODBC API,你可通过统一界面和好多各不相同的数据库打交道。

ODBC是如何工作的?它的结构式怎样的?在使用ODBC之前,你应对它的结构有一个清楚的了解。 ODBC有四个组成部分:
应用程序 (Application,你的程序) ODBC 管理器 (ODBC manager) ODBC 驱动程序(ODBC Drivers) 数据源 (Data Sources,数据库)
这四个组件的核心是ODBC 管理器。 你可把它想象成你的监工。你告诉它你希望他作什么,然后它把你的要求传达给它的工人(ODBC 驱动程序)并完成工作。如果工人有什么想告诉你的,它会与监工(ODBC 管理器)说,由监工传达给你。工人们很明白他们应作什么,因此他们会为你很好的完成工作。

通过这样的模式,我们并不与数据库驱动程序直接通信。你只需告诉数据库管理器你想要做什么。而使用恰当的ODBC驱动程序来实现你的目的则是ODBC管理器的事。每个ODBC 驱动程序对于它所对应的数据库均有足够了解。各部件各司其职,极大的简化了工作量。

你的程序<----> ODBC管理器<----> ODBC驱动程序 <----> 数据库

ODBC管理器由Microsoft提供。看一下你的控制面板。如果你正确地安装了ODBC你会找到ODBC数据源(32位) 项目。 至于ODBC驱动程序, Microsoft随他们的产品提供了好几种。并且你总可从数据库提供商那里获得新的ODBC 驱动程序。只要简单地安装新的ODBC驱动程序,你的机器就可使用新的它以前不知道的数据库。

ODBC APIs 使用很简单,但你需要知道一些关于SQL和数据库的知识。例如字段(field),主键(primary key),记录(record),列(column),行(row)等。我须假定你已知道数据库理论的一些基础知识,这样我才能讨论win32下用汇编语言进行ODBC编程的细节问题。正如你所看到的,ODBC 管理器试图在你的程序里隐藏实现的细节。这意味着它必须提供某些基本界面来与你的程序和ODBC驱动程序进行通讯。 由于ODBC驱动程序在某些性能方面存在着差异,因此必须存在一种方法,以使得我们的程序能够知道某个ODBC驱动程序是否支持某一特性。 ODBC定义了被称为Interface Conformance Levels的三层服务界面。第三层是核心层。任何ODBC驱动程序都要象在第一层和第二层实现功能一样实现核心层表中的所有特性。从我们的程序的眼光来看, ODBC APIs被分割为这样的三层。如果某个函数被标为核心的,就意味着你可放心使用而不必担心它是否为你正使用的ODBC驱动程序支持。如果它是一个第一层或第二层的函数,你就得确认ODBC驱动程序是否支持,然后再使用。你可通过MSDN获得ODBC APIs的详细资料。

在编写代码之前你应了解一些ODBC的名词。
环境(Environment). 和字面意思一样,是一个全局文本用来存取数据。如果你熟悉DAO的话,你可把它想象为一个workspace。它包含应用于所有ODBC session的信息,例如一个session的connections句柄。在用ODBC之前你必须从环境中获得这个句柄。 连接(Connection). 指定ODBC驱动程序和数据源(数据库)。你可以在同一环境中同时连接不同的数据库 语句(Statement). ODBC使用SQL作为自己的语言。 因而只要简单的认为语句就是你希望ODBC执行的SQL命令就行了。
以下是使用ODBC编程的一般步骤:
连接数据源 创建并执行一条或多条SQL语句 检查结果记录(如果有的话) 断开数据源
在接下来的教程中我们来学习如何来实现这几步。

时间: 2024-11-05 21:02:14

ODBC 基础的相关文章

汇编教程:ODBC基础

这是使用 win32asm进行数据库编程系列的第一份教程.在如今的IT界,数据库编程变的越来越重要,所以我们不能再忽视它.但如今有很多种数据库在使用,如果我们为了实现win32下数据库汇编语言编程而学习各种数据库文件格式,所花时间大概称得上"永恒". 幸运的是,Microsoft的一项技术使得我们得以摆脱这个大麻烦.它被称为ODBC,是开放式数据库互连(Open Database Connectivity)的缩写,这是一族API,与Windows API相似.它主要与数据库打交道.就是

【J2EE十三个规范】数据层之JDBC

[学习概要]     在上篇博客中,介绍了两个Web层的规范,本篇博客,继续J2EE十三个规范的学习,下面要介绍的便是数据层的JDBC. [学习笔记]     一.什么是JDBC     JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.     二.JDBC的优势     1.有了JDBC API,就不必为Sybase数据库专门写一个程序,

用PHP实现ODBC数据分页显示一例_php基础

$pagesize = 2; //一页显示记录数 $con = odbc_connect("access_test","","",SQL_CUR_USE_ODBC) or die("无法连接ODBC数据源access_test"); //连接一个ODBC数据源$sql = "select count(*) as total from test"; //取得记录总数SQL语句$rst = odbc_exec(

用php和MySql来与ODBC数据连接_php基础

ODBC 是指开放数据连接,它是微软主导的数据驱动程序,它可以与其它数据连接,通过SQL语言来对数据进行操作的,当然PHP也提供了对ODBC数据连接的函数, 用PHP与ODBC连接主要通过几个函数来完成的,    首先先来认识几个与ODBC接口的函数: int odbc_connect(string dsn, string user, string password, int [cursor_type]);是连接至ODBC数据库 dsn ,user,password 是对应着ODBC里的内容,c

PHP如何透过ODBC来存取数据库_php基础

使用的环境 先建立一个测试用的数据库 接着建立一个ODBC连结 再建个测试用的PHP Script 咱们来测试吧 使用的环境 本文件主要是在Win32的环境下作说明, 您需要的是台跑Windows 9x/NT/2000的计算机, 并装有任何一种web server和PHP3或PHP4, 且可正确执行PHP Script. 并有一种以上的SQL数据库软件, 例如:Access... 本文件以MS-Access数据库来作说明, 其它种的数据库端, 皆可以类似的方法来作ODBC连结. 先建立一个测试用

一个PHP操作Access类(PHP+ODBC+Access)_php基础

复制代码 代码如下: <?php -------------------------------------------------------------------- //FileName:class.php //Summary: Access数据库操作类 //Author:  forest //CreateTime: 2006-8-10      //LastModifed: //copyright (c)2006 freeweb.nyist.net/~chairy  [email]cha

用ODBC的分页显示_php基础

<?php $pagesize = 3;//设置每页显示数目 //计算总记录数 $rs_num = "select count(*) as id from table"; $rs_num = odbc_exec($conn_id,$rs_num); $rs_num = odbc_result($rs_num,"id"); //计算总页数 $pagecount = $rs_num / $pagesize; $pagecount1 = intval($pageco

NT IIS下用ODBC连接数据库_php基础

$connection = int odbc_connect(string dsn, string user, string password)建立数据库连接, $query_string = "查询记录的条件" 如:$query_string = "select * from table" 用$cur = int odbc_exec(int connection_id, string query_string)检索数据库,将记录集放入$cur变量中. 再用whil

Odbc连SQL Server数据库的几种方法

odbc|server|数据|数据库 Odbc连SQL Server数据库的几种方法   这篇文章是针对在CSDN论坛 中的一些想知道这方面技术的网友而写的.因为最近我本人在论坛上看到很多网友提到这个问题,所以就写了这篇文章,以飨读者. SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成.也是今天市场上几种大型关系型数据库(SQL Server\Oracle ybase等)之一.对于今天复杂的B/S服务器系统来说,SQL