当前位置: 首页 > ODBC > 正文

应用程序使用 ODBC 连接数据库的基本步骤(ODBC手册读书笔记)

步骤1:连接至数据源

    SQLAllocHandle(ENV)
    SQLSetEnvAttr
    SQLAllocHandle(DBC)
    SQLConnect
    SQLSetConnectAttr

与数据源连接的第一步是装载驱动程序,并用SQLAllocHandle分配环境句柄。

然后,应用程序通过调用SQLSetEnvAttr及SQL_ATTR_APP_ODBC_VER环境属性注册它所遵从的ODBC版本

接下来,应用程序用SQLAllocHandle分配连接句柄,并用SQLConnect,SQLDriverConnect或SQLBrowseConnect与数据源连接起来。

再下来,应用程序设置任意的连接属性,比如是否手动委托事务。

步骤2:初始化应用程序

    SQLGetInfo
    SQLAllocHandle(STMT)
    SQLSetStmtAttr

首先使用SQLGetInfo找出驱动程序的能力

所有的应用程序都需要用SQLAllocHandle分配语句句柄,并且,许多应用程序都用SQLSetStmtAttr设置语句属性,比如游标类型。

步骤3:建立和执行SQL语句

    Catalog function
        or
    SQLBindParameter
    SQLExecDirct

如何进行这步工作可能会千差万别。应用程序也许会提示用户输入一条SQL语句、根据用户输入建立SQL语句,或使用硬编码的SQL语句。

如果SQL语句含有参数,应用程序为每个参数调用SQLBindParameter把它们绑定至应用程序变量。

在建立了SQL语句和绑定了所有参数之后,就用SQLExecDirect执行该语句。如果语句要多次执行,则可以用SQLPrepare进行准备并用SQLExecute来执行。

应用程序还有可能放弃执行SQL语句而是调用一个函数来返回含有Catalog信息的结果集,比如可用的列或表。

步骤4a:读取结果

    SQLNumResultCols
    SQLDescribeCol
    SQLBindCol
    SQLFetch
    SQLGetData
    SQLCloseCurser

如果在步骤3中所执行的语句是一条SELECT语句或一个Catalog函数,应用程序会首先调用SQLNumResultCols来确定结果集中的列数。假如应用程序已经知道了结果集列数,比如当SQL语句已硬编码在纵向的或定制的应用程序中的时候,这一步就没有必要了。

接下来,应用程序用SQLDescribeCol检索每一结果集列的名称、数据类型、精度和范围。同样地,对于已经知道这些信息的纵向的或定制的应用程序来说,这一步也是不必要的。它把这些信息传送给SQLBindCol,它又把应用程序变量绑定至结果集中的列。

现在,应用程序调用SQLFetch来检索第一行数据,并把该数据从那一行放进用SQLBindCol绑定的变量中。如果在这一行有长整型数据的话,它就会调用SQLGetData来检索那个数据。应用程序继续调用SQLFetch和SQLGetData来检索其他的数据。当它完成读取数据之后,就调用SQLCloseCursor关闭游标。

此时,应用程序返回至步骤3来执行同一事务中的另一条语句,或是进入到步骤5来执行或重算事务。

步骤4b:读取行计数

    SQLRowCount

如果在步骤3中执行的语句是UPDATA,DELETE或INSERT语句,应用程序用SQLRowCount检索所影响行的计数。

应用程序现在返回至步骤3执行同一事务中的另一条语句,或是进入步骤5来执行或重新计算事务。

步骤5:执行事务

    SQLEndTran

第5步是调用SQLEndTran来执行或重算事务。只有在应用程序把事务执行模式设置为手动执行时才执行这一步;如果事务执行模式是自动执行,这种模式是缺省的,则在执行该语句时会自动地执行这个事务。

要执行新事务中的语句,应用程序应返回步骤3。要解除与数据源的连接,则应用程序进入步骤6。

步骤6:解除与数据源的连接

    SQLFreeHandle(STMT)
    SQLDisconnect
    SQLFreeHandle(DBC)
    SQLFreeHandle(ENV)

最后一步是解除与数据源的连接,如下图所示。首先,应用程序通过调用SQLFreeHandle释放所有语句句柄。

接下来,应用程序用SQLDisconnect解除与数据源的连接,并用SQLFreeHandle释放连接句柄。

最后,应用程序用SQLFreeHandle释放环境句柄并卸载DriverManager。

    分享到:

本文固定链接: http://klwang.info/basic-step-to-connect-dbms-using-odbc/ | 数据库|Linux|软件开发

该日志由 klwang 于2013年09月29日发表在 ODBC 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 应用程序使用 ODBC 连接数据库的基本步骤(ODBC手册读书笔记) | 数据库|Linux|软件开发
关键字:

应用程序使用 ODBC 连接数据库的基本步骤(ODBC手册读书笔记):等您坐沙发呢!

发表评论

*
快捷键:Ctrl+Enter