国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ODBC連接數(shù)據(jù)庫(kù)詳細(xì)說明

這篇具有很好參考價(jià)值的文章主要介紹了ODBC連接數(shù)據(jù)庫(kù)詳細(xì)說明。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、ODBC簡(jiǎn)介

開放數(shù)據(jù)庫(kù)互連(ODBC)是微軟提出的數(shù)據(jù)庫(kù)訪問接口標(biāo)準(zhǔn)。開放數(shù)據(jù)庫(kù)互連定義了訪問數(shù)據(jù)庫(kù)的API一個(gè)規(guī)范,這些API獨(dú)立于不同廠商的DBMS,也獨(dú)立于具體的編程語言。通過使用ODBC,應(yīng)用程序能夠使用相同的源代碼和各種各樣的數(shù)據(jù)庫(kù)進(jìn)行交互。這使得開發(fā)者不需要以特殊的數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS為目標(biāo),或者了解不同支撐背景的數(shù)據(jù)庫(kù)的詳細(xì)細(xì)節(jié),就能夠開發(fā)和發(fā)布客戶/服務(wù)器應(yīng)用程序。下面是ODBC應(yīng)用系統(tǒng)的體系結(jié)構(gòu)。

二、ODBC句柄

應(yīng)用程序運(yùn)行后,為維護(hù)執(zhí)行的狀態(tài),ODBC 管理器和ODBC 驅(qū)動(dòng)程序中必須保持足夠的控制信息。應(yīng)用程序要求ODBC 管理器和ODBC 驅(qū)動(dòng)程序?yàn)镺DBC環(huán)境、每個(gè)連接以及每個(gè)SQL語句分配描述/控制信息存儲(chǔ)空間,并返回指向各個(gè)存儲(chǔ)區(qū)的句柄供其使用。

(1)環(huán)境句柄:整個(gè)ODBC上下文的根句柄。標(biāo)識(shí)全程數(shù)據(jù)訪問控制信息的內(nèi)存結(jié)構(gòu),包括有效連接句柄以及當(dāng)前活動(dòng)連接句柄。ODBC將環(huán)境句柄定義為HENV類型的變量。應(yīng)用程序使用單一的環(huán)境句柄,在連接到數(shù)據(jù)源以前必須申請(qǐng)?jiān)摼浔?/p>

(2)連接句柄:管理有關(guān)數(shù)據(jù)庫(kù)會(huì)話的所有信息。連接句柄標(biāo)識(shí)每個(gè)特定的連接信息的內(nèi)存結(jié)構(gòu)。ODBC將環(huán)境句柄定義為HDBC類型的變量。應(yīng)用程序在連接數(shù)據(jù)源之前申請(qǐng)連接句柄。每個(gè)連接句柄與環(huán)境句柄有關(guān),環(huán)境句柄上可以有多個(gè)與其有關(guān)的連接句柄。

(3)語句句柄:ODBC語句包括應(yīng)用訪問數(shù)據(jù)源的SQL語句和語句相關(guān)的管理信息,語句句柄標(biāo)識(shí)每個(gè)語句管理信息的內(nèi)存結(jié)構(gòu)。ODBC將語句句柄定義為HSTMT類型的變量。應(yīng)用程序在提交SQL請(qǐng)求之前也必須申請(qǐng)語句句柄。每個(gè)語句句柄與一個(gè)連接句柄有關(guān),每個(gè)連接句柄上可以有多個(gè)與其有關(guān)的語句句柄。

三、ODBC程序執(zhí)行流程

? 分配環(huán)境句柄

基于ODBC3.X版本的應(yīng)用統(tǒng)一使用SQLAllocHandle來分配句柄。調(diào)用時(shí)設(shè)計(jì)不同的句柄類型就可以獲得該類型的句柄。但在API內(nèi)部實(shí)現(xiàn)上一般重新轉(zhuǎn)換為執(zhí)行SQLAllocEnv,SQLAllocConnect和SQLAllocStmt,這樣可以達(dá)到兼容和代碼重用作用。SQLAllocEnv:用來分配環(huán)境句柄。

例如:

ret = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &oraclehenv);

? 分配連接句柄

SQLAllocConnect:用來分配連接句柄。連接句柄提供對(duì)一些信息的訪問,例如,在連接上的有效語句及標(biāo)識(shí)符句柄,以及當(dāng)前是否打開一些一個(gè)事務(wù)處理。調(diào)用SQLAllocConnect 函 數(shù) 獲 取 連 接 句 柄。例如:

 ret = SQLAllocHandle(SQL_HANDLE_DBC, oraclehenv, &oraclehdbc);

? 建立數(shù)據(jù)源

使用已分配的連接句柄來建立應(yīng)用程序和數(shù)據(jù)源/數(shù)據(jù)庫(kù)系統(tǒng)的連接,進(jìn)行句柄和數(shù)據(jù)源的綁定。綁定也由目標(biāo)數(shù)據(jù)源的ODBC驅(qū)動(dòng)程序完成。

例 如:

ret = SQLConnect(oraclehdbc,                                                    

"conn",SQL_NTS, //ODBC的DNS名稱

"scott",SQL_NTS, //用戶賬號(hào)

"123",SQL_NTS);     //密碼

? 分配語句句柄

用戶對(duì)DBC數(shù)據(jù)源的存取操作,都是通過SQL語句實(shí)現(xiàn)的。在這個(gè)過程中,應(yīng)用程序 將通過連接向ODBC數(shù)據(jù)庫(kù)提交SQL語句,以完成用戶請(qǐng)求的操作。即通過執(zhí)行SQLAllocHandle或SQLAllocStmt來分配語句句柄。調(diào)用SQLAllocStmt 函數(shù)獲取語句句柄。例如:

SQLstmt= "SELECT * FROM authors"

rc= SQLAllocStmt(hdbc, hstmt)

? 執(zhí)行SQL語句

執(zhí)行SQL語句。 執(zhí)行SQL 語 句 的方法比較多, 最簡(jiǎn)單明了的方法是調(diào)用SQLAllocStmt函數(shù),例如:

SQLstmt= "SELECT * FROM authors"

rc= SQLExecDirect(hstmt, SQLstmt, Len(SQLstmt))

如果SQL語句被順利提交并正確執(zhí)行,那么就會(huì)產(chǎn)生一個(gè)結(jié)果集。檢索結(jié)果集的方法有很多,最簡(jiǎn)單最直接的方法是調(diào)用SQLFetch 和SQLGetData 函 數(shù)。

SQLFetch函數(shù)的功能是將結(jié)果集的當(dāng)前記錄指針移至下一個(gè)記錄;

SQLGetData函數(shù)的功能是提取結(jié)果集中當(dāng)前記錄的某個(gè)字段值。通??梢圆捎靡粋€(gè)循環(huán)以提取結(jié)果集中所有記錄的所有字段值,該循環(huán)重復(fù)執(zhí)行SQLFetch和SQLGetData函數(shù),直至SQLFetch函數(shù)返回SQL_NO_DATA_FOUND, 這表示已經(jīng)到達(dá)結(jié)果集的末尾。

DimColVal As String * 225

ColVal= String(255, 0)

? 結(jié)束應(yīng)用程序

在應(yīng)用程序完成數(shù)據(jù)庫(kù)操作, 退出運(yùn)行之前,必須釋放程序中使用的系統(tǒng)資源。這些系統(tǒng)資源包括:語句句柄、連接句柄和ODBC環(huán)境句柄。完成這個(gè)過程的如下:

調(diào)用SQLFreeStmt 函數(shù)釋放語句句柄及其相關(guān)的系統(tǒng)資源。例如:

rc= SQLFreeStmt(hstmt, SQL_DROP)

調(diào)用SQLDisconnect 函數(shù)關(guān)閉連接。 例 如:

rc= SQLDisconnect(hdbc)

調(diào)用SQLFreeConnect函數(shù)釋放連接句柄及其相關(guān)的系統(tǒng)資源。例如:

rc= SQLFreeConnect(hdbc)

調(diào)用SQLFreeEnv函數(shù)釋放環(huán)境句柄及其相關(guān)的系統(tǒng)資源,停止ODBC 操作。 例如:

rc= SQLFreeEnv(henv)

(7)錯(cuò) 誤 處 理

所有DBCAPI函 數(shù), 若在執(zhí)行期間發(fā)生錯(cuò)誤, 都將返回一個(gè)標(biāo)準(zhǔn)錯(cuò)誤代碼SQL_ERROR。

一般來講,在每次調(diào)用ODBC API 函 數(shù) 之 后, 都應(yīng)該檢查該函數(shù)返回值,確定該函數(shù)是否成功地執(zhí)行,再?zèng)Q定是否繼續(xù)后續(xù)過程。 而詳細(xì)的錯(cuò)誤信息,可以調(diào)用SQLError 函數(shù)獲得。SQLError 函數(shù)將返回下列信息: 標(biāo)準(zhǔn)的ODBC錯(cuò)誤狀態(tài)碼 ODBC 數(shù)據(jù)源提供的內(nèi)部錯(cuò)誤編碼錯(cuò)誤信息串

四、開發(fā)環(huán)境的配置

1.創(chuàng)建Oracle ODBC數(shù)據(jù)源

對(duì)于WIN 7系統(tǒng)來說,打開控制面板,找到ODBC,具體位置如下圖所示,如果沒有找到,可以在右上角搜索欄里面輸入ODBC,就可以找到了。

對(duì)于WIN XP系統(tǒng)來說,打開控制面板,找到管理工具,找到數(shù)據(jù)源(ODBC),顯示ODBC數(shù)據(jù)源管理器對(duì)話框。對(duì)話框如下圖所示。

2.設(shè)置和配置一個(gè)系統(tǒng)DSN,單擊“系統(tǒng)DSN標(biāo)簽”,選擇“添加”。

3.找到需要配置的數(shù)據(jù)源,單擊完成,彈出如下對(duì)話框,

4.輸入數(shù)據(jù)源的名稱,一個(gè)簡(jiǎn)單的描述,用戶名和網(wǎng)絡(luò)連接名。點(diǎn)擊確認(rèn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-401199.html

五、學(xué)生表創(chuàng)建

create table stu(

sno char(11) ,

sname varchar2(10),

sex char(2),

sage number,

sdepart varchar2(30)

);

到了這里,關(guān)于ODBC連接數(shù)據(jù)庫(kù)詳細(xì)說明的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python使用odbc連接db2、sqlserver數(shù)據(jù)庫(kù)

    先介紹安裝odbc驅(qū)動(dòng),如果已安裝跳過次環(huán)節(jié) 參考鏈接:linux環(huán)境odbc驅(qū)動(dòng)安裝 - 嗶哩嗶哩 也可參考微軟官網(wǎng)(Windows驅(qū)動(dòng)也有介紹):安裝 Microsoft ODBC Driver for SQL Server (Linux) - ODBC Driver for SQL Server | Microsoft Learn ODBC Driver是一種動(dòng)態(tài)鏈接庫(kù) (DLL),支持 ODBC 的應(yīng)用程序(如 Excel)可

    2024年02月10日
    瀏覽(23)
  • 阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)詳細(xì)介紹_多版本數(shù)據(jù)庫(kù)說明

    阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)詳細(xì)介紹_多版本數(shù)據(jù)庫(kù)說明

    阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)大全,關(guān)系型數(shù)據(jù)庫(kù)包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL數(shù)據(jù)庫(kù)如Redis、Tair、Lindorm和MongoDB,阿里云百科分享阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)大全: 目錄 阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)大全 RDS關(guān)系型數(shù)據(jù)庫(kù)大全 云原生數(shù)據(jù)庫(kù) PolarDB MySQL 版 云原生數(shù)據(jù)庫(kù)

    2024年02月07日
    瀏覽(22)
  • 阿里云關(guān)系型數(shù)據(jù)庫(kù)RDS詳細(xì)說明

    阿里云關(guān)系型數(shù)據(jù)庫(kù)RDS詳細(xì)說明

    阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)大全,關(guān)系型數(shù)據(jù)庫(kù)包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL數(shù)據(jù)庫(kù)如Redis、Tair、Lindorm和MongoDB,阿里云百科分享阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)大全: 目錄 阿里云RDS關(guān)系型數(shù)據(jù)庫(kù)大全 RDS關(guān)系型數(shù)據(jù)庫(kù)大全 云原生數(shù)據(jù)庫(kù) PolarDB MySQL 版 云原生數(shù)據(jù)庫(kù)

    2024年02月07日
    瀏覽(15)
  • Qt程序連接Access數(shù)據(jù)庫(kù),出現(xiàn)“[Microsoft][ODBC 驅(qū)動(dòng)程序管理器] 未發(fā)現(xiàn)數(shù)據(jù)源名稱并且未指定默認(rèn)驅(qū)動(dòng)程序 QODBC3: Unable to connect“錯(cuò)誤的解決辦法

    1、\\\"[Microsoft][ODBC 驅(qū)動(dòng)程序管理器] 未發(fā)現(xiàn)數(shù)據(jù)源名稱并且未指定默認(rèn)驅(qū)動(dòng)程序 QODBC3: Unable to connect\\\" 或者 2、\\\"[Microsoft][ODBC 驅(qū)動(dòng)程序管理器] 在指定的 DSN 中,驅(qū)動(dòng)程序和應(yīng)用程序之間的體系結(jié)構(gòu)不匹配 QODBC3: Unable to connect\\\"的錯(cuò)誤的解決辦法) 電腦系統(tǒng):windows 10 64位操作系統(tǒng),基

    2024年02月05日
    瀏覽(37)
  • [虛幻引擎 MongoDB Client 插件說明] DTMongoDB MongoDB數(shù)據(jù)庫(kù)連接插件,UE藍(lán)圖可以操作MongoDB數(shù)據(jù)庫(kù)增刪改查。

    [虛幻引擎 MongoDB Client 插件說明] DTMongoDB MongoDB數(shù)據(jù)庫(kù)連接插件,UE藍(lán)圖可以操作MongoDB數(shù)據(jù)庫(kù)增刪改查。

    本插件可以在UE里面使用藍(lán)圖操作MongoDB數(shù)據(jù)庫(kù), 對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢,刪除,插入,替換,更新操作。 插件下載地址在文章最后。 Create MongoDB Client - 創(chuàng)建客戶端對(duì)象 創(chuàng)建一個(gè) MongoDB 客戶端對(duì)象。 Connect By Url - 連接到數(shù)據(jù)庫(kù) Url :MongoDB的連接地址。 如 mongoDB://account:password@ip:

    2024年02月14日
    瀏覽(64)
  • MySQL數(shù)據(jù)庫(kù),JDBC連接數(shù)據(jù)庫(kù)操作流程詳細(xì)介紹

    MySQL數(shù)據(jù)庫(kù),JDBC連接數(shù)據(jù)庫(kù)操作流程詳細(xì)介紹

    在學(xué)完 MySQL 和 Java 后,我們通常會(huì)嘗試使用 Java編譯器 連接 MySQL數(shù)據(jù)庫(kù),從而達(dá)到使用編譯器來操作數(shù)據(jù)庫(kù)的效果。連接的這個(gè)過程會(huì)用 JDBC 相關(guān)知識(shí),因此我把 JDBC 包的下載及導(dǎo)入流程,以及 JDBC 的使用流程整理下來分享給大家。 目錄 1. 啥是JDBC? 2. JDBC依賴包 2.1 依賴包

    2024年02月06日
    瀏覽(99)
  • 基于ODBC的數(shù)據(jù)庫(kù)應(yīng)用(MFC)

    基于ODBC的數(shù)據(jù)庫(kù)應(yīng)用(MFC)

    1.數(shù)據(jù)庫(kù)和DBMS 數(shù)據(jù)庫(kù)是指以一定的組織形式存放在計(jì)算機(jī)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。一般一個(gè)庫(kù)中有多個(gè)表組成,一張表中由多條記錄組成,一條記錄由若干字段組成。 例: 學(xué)生信息庫(kù)——基本信息表、成績(jī)表 基本信息表——每個(gè)學(xué)生的基本信息記錄 基本信息記錄——

    2024年02月02日
    瀏覽(28)
  • 數(shù)據(jù)庫(kù)開發(fā)之內(nèi)連接和外連接的詳細(xì)解析

    數(shù)據(jù)庫(kù)開發(fā)之內(nèi)連接和外連接的詳細(xì)解析

    內(nèi)連接查詢:查詢兩表或多表中交集部分?jǐn)?shù)據(jù)。 內(nèi)連接從語法上可以分為: 隱式內(nèi)連接 顯式內(nèi)連接 隱式內(nèi)連接語法: 顯式內(nèi)連接語法: 案例:查詢員工的姓名及所屬的部門名稱 隱式內(nèi)連接實(shí)現(xiàn) 顯式內(nèi)連接實(shí)現(xiàn) 多表查詢時(shí)給表起別名: tableA as 別名1 , tableB as 別名2 ; tabl

    2024年02月04日
    瀏覽(93)
  • 【MySQL】MySQL數(shù)據(jù)庫(kù),RDBMS 術(shù)語,使用說明和報(bào)錯(cuò)解決的詳細(xì)講解

    【MySQL】MySQL數(shù)據(jù)庫(kù),RDBMS 術(shù)語,使用說明和報(bào)錯(cuò)解決的詳細(xì)講解

    作者簡(jiǎn)介: 辭七七,目前大一,正在學(xué)習(xí)C/C++,Java,Python等 作者主頁: 七七的個(gè)人主頁 文章收錄專欄: 七七的閑談 歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!???? MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)

    2024年02月11日
    瀏覽(34)
  • PowerDesigner 連接MySQL數(shù)據(jù)庫(kù)詳細(xì)步驟

    PowerDesigner 連接MySQL數(shù)據(jù)庫(kù)詳細(xì)步驟

    1、新建一個(gè) Physical Data ,選擇自己要連接的數(shù)據(jù)庫(kù) 在PowerDesigner菜單欄中,依次點(diǎn)擊“File -New Model-Physical Data” 點(diǎn)擊OK 2、連接數(shù)據(jù)源 依次點(diǎn)擊“File -Reverse Enginner-Database…” 顯示如下頁面,點(diǎn)擊確定 點(diǎn)擊紅框,彈出一下畫面 點(diǎn)擊configure… 點(diǎn)擊創(chuàng)建新的數(shù)據(jù)源,選擇用戶數(shù)據(jù)

    2024年02月11日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包