• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            使用OTL來訪問數(shù)據(jù)庫

            來源:http://read.newbooks.com.cn/info/157869.html

            OTL介紹:
            OTL Oracle, Odbc and DB2-CLI Template Library 的縮寫,是一個C++編譯中操控關系數(shù)據(jù)庫的模板庫,它目前幾乎支持所有的當前各種主流數(shù)據(jù)庫,例如Oracle, MS SQL Server, Sybase, Informix, MySQL, DB2, Interbase / Firebird, PostgreSQL, SQLite, SAP/DB, TimesTen, MS ACCESS等等。OTL中直接操作Oracle主要是通過Oracle提供的OCI接口進行,進行操作DB2數(shù)據(jù)庫則是通過CLI接口來進行,至于MS的數(shù)據(jù)庫和其它一些數(shù)據(jù)庫,則OTL只提供了ODBC來操作的方式。當然OracleDB2也可以由OTL間接使用ODBC的方式來進行操縱。

            MS Windows and Unix 平臺下,OTL目前支持的數(shù)據(jù)庫版本主要有:Oracle 7 (直接使用 OCI7), Oracle 8 (直接使用 OCI8), Oracle 8i (直接使用OCI8i), Oracle 9i (直接使用OCI9i), Oracle 10g (直接使用OCI10g), DB2 (直接使用DB2 CLI), ODBC 3.x ,ODBC 2.5OTL最新版本為4.0,參見http://otl.sourceforge.net/,下載地址http://otl.sourceforge.net/otlv4_h.zip
            優(yōu)點:
                  a.
            跨平臺
                  b.
            運行效率高,與C語言直接調用API相當
                  c.
            開發(fā)效率高
                  d.
            部署容易,不需要ADO組件,不需要.net framework
                 
            現(xiàn)提供有501個使用范例可參考http://otl.sourceforge.net/otl4_mssql_examples.htm

            OTL的使用:

               OTL使用起來很簡單,使用不同的數(shù)據(jù)庫連接(連接字符串格式可以參考:http://www.connectionstrings.com/),主要是根據(jù)需要在程序開始的宏定義來指定的。 OTL是首先根據(jù)這個宏定義來初始化數(shù)據(jù)庫連接環(huán)境。 OTL中用來區(qū)分連接方式的宏定義主要有下面這些:
             OTL_ORA7, OTL_ORA8, OTL_ODBC, OTL_DB2_CLI, OTL_ODBC_MYSQL...

            不同的宏對應的數(shù)據(jù)庫API,具體說明如下:

            宏定義名

            說明

            OTL_DB2_CLI

            for DB2 Call Level Interface (CLI)

            OTL_INFORMIX_CLI

            for Informix Call Level Interface for Unix (when  OTL_ODBC_UNIX is enabled).

            OTL_IODBC_BSD

            for ODBC on BSD Unix, when iODBC package is used

            OTL_ODBC

            for ODBC

            OTL_ODBC_MYSQL

            for MyODBC/MySQL. The difference between OTL_ODBC_MYSQL and OTL_ODBC is that transactional ODBC function calls are turned off for OTL_ODBC_MYSQL, since MySQL does not have transactions

            OTL_ODBC_
            POSTGRESQL

            for the PostgreSQL ODBC driver 3.5 (and higher) that are connected to PostgerSQL 7.4 / 8.0  (and higher)  servers.

            OTL_ODBC_UNIX

            for ODBC bridges in Unix

            OTL_ODBC_zOS

            for ODBC on IBM zOS.

            OTL_ODBC_XTG_IBASE6

            for Interbase 6.x via XTG Systems'  ODBC driver. The reason for introducing this #define is that the ODBC driver is the only Open Source ODBC driver for Interbase. Other drivers, like Easysoft's ODBC for Interbase, are commercial products, and it beats the purpose of using Interbase, as an Open Source.database server.

            OTL_ORA7

            for OCI7

            OTL_ORA8

            for OCI8

            OTL_ORA8I

            for OCI8i

            OTL_ORA9I

            for OCI9i. All code that compiles and works under #define OTL_ORA7, OTL_ORA8, and OTL_ORA8I, should work when OTL_ORA9I is used

            OTL_ORA10G

            for OCI10g. All code that compiles and works  under #define OTL_ORA7, OTL_ORA8, OTL_ORA8I, OTL_ORA9I, should work with OTL_ORA10G.

            OTL_ORA10G_R2

            for OCI10g, Release 2 (Oracle 10.2). All code that compiles and works  under #define OTL_ORA7, OTL_ORA8, OTL_ORA8I, OTL_ORA9I, and OTL_ORA10G should work with OTL_ORA10G_R2 .

              在編譯OTL的程序時,需要使用到相應的數(shù)據(jù)庫API,這就要程序在編譯時聯(lián)接lib庫文件,不同的數(shù)據(jù)庫對應的lib文件所在位置各不相同,下面是分別在windowsUnix下的數(shù)據(jù)庫API所需要的頭文件及lib文件所在的位置列表:

            API

            API header files for Windows

            API libraries for Windows

            OCI7

            In <ORACLE_HOME>\oci\include

             <ORACLE_HOME>\oci\lib\<compiler_specific>\ociw32.lib

            OCI8

            In <ORACLE_HOME>\oci\include

             <ORACLE_HOME>\oci\lib\<compiler_specific>\oci.lib

            OCI8i

            In <ORACLE_HOME>\oci\include

             <ORACLE_HOME>\oci\lib\<compiler_specific>\oci.lib

            OCI9i

            In <ORACLE_HOME>\oci\include

             <ORACLE_HOME>\oci\lib\<compiler_specific>\oci.lib

            OCI10g

            In <ORACLE_HOME>\oci\include

             <ORACLE_HOME>\oci\lib\<compiler_specific>\oci.lib

            ODBC

            Normally, in one of the C++ compiler system directories, no need to include explicitly.

            Normally, in one of the C++ compiler system directories: odbc32.lib

            DB2 CLI

            In <DB2_HOME>\include

            <DB2_HOME>\lib\db2api.lib
            <DB2_HOME>\lib\db2cli.lib

              如果在windows下操縱MS 數(shù)據(jù)庫,使用MS VC++來編譯OTL程序,就非常簡單了,不用另外去找ODBC32.libVC的編譯器中已經默認link到工程中了,具體請看如何編譯OTLhttp://otl.sourceforge.net/otl3_compile.htm

            posted on 2008-06-13 00:11 楊粼波 閱讀(3012) 評論(0)  編輯 收藏 引用

            99久久99久久| 久久久一本精品99久久精品88| 久久久久无码中| 国产精品久久久天天影视香蕉| 久久精品国产亚洲av高清漫画 | 亚洲精品乱码久久久久久蜜桃图片| 伊人久久免费视频| 91久久福利国产成人精品| 嫩草影院久久国产精品| 四虎国产永久免费久久| 亚洲综合精品香蕉久久网97| 青青青国产精品国产精品久久久久| 久久久久久亚洲AV无码专区| jizzjizz国产精品久久| 7国产欧美日韩综合天堂中文久久久久 | 亚洲午夜久久影院| 丁香久久婷婷国产午夜视频| 久久黄色视频| 狠狠色丁香婷婷久久综合五月| 2020久久精品亚洲热综合一本| 久久丫忘忧草产品| 亚洲国产欧美国产综合久久| 国产精品久久久久9999| 嫩草影院久久国产精品| 青青草国产97免久久费观看| 久久精品国产亚洲AV蜜臀色欲| 久久精品国产亚洲AV电影| 97久久精品人人澡人人爽| 色8激情欧美成人久久综合电| 亚洲欧美日韩久久精品第一区| 99久久国产亚洲高清观看2024| 色综合久久88色综合天天 | 久久人人爽人人爽人人片av麻烦 | 久久激情亚洲精品无码?V| 国产成人久久精品一区二区三区 | 久久精品国产一区二区三区不卡| 无码任你躁久久久久久老妇App| 1000部精品久久久久久久久| 一本综合久久国产二区| 国内精品久久久久影院一蜜桃| 手机看片久久高清国产日韩|