<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 全面領(lǐng)會(huì) ODBC技巧

    時(shí)間:2024-09-23 09:48:28 松濤 計(jì)算機(jī)畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    全面領(lǐng)會(huì) ODBC技巧

      在我們平凡無(wú)奇的學(xué)生時(shí)代,很多人都經(jīng)常追著老師們要知識(shí)點(diǎn)吧,知識(shí)點(diǎn)也可以理解為考試時(shí)會(huì)涉及到的知識(shí),也就是大綱的分支。哪些知識(shí)點(diǎn)能夠真正幫助到我們呢?下面是小編整理的全面領(lǐng)會(huì) ODBC技巧,僅供參考,大家一起來(lái)看看吧。

      目前,眾多的廠商推出了行行色色的數(shù)據(jù)庫(kù)系統(tǒng) ,它們?cè)谛阅堋r(jià)格 和利用領(lǐng)域上各有千秋。一個(gè)綜合信息系統(tǒng) 的各部門(mén)由于需求區(qū)別等原因,往往會(huì)存在多種數(shù)據(jù)庫(kù),它們之間的互連造訪成為一個(gè)棘手 的問(wèn)題,特別 是當(dāng)用戶需要 從客戶機(jī)端造訪不同的服務(wù)器時(shí)。

      微軟提出的開(kāi)放式數(shù)據(jù)庫(kù)互連(Open-DataBase-Connectivity,即ODBC)成為目前一個(gè)強(qiáng)有力解決方案 ,并逐步成為Windows和Macintosh平臺(tái)上的標(biāo)準(zhǔn) 接口,并推動(dòng) 了這方面的開(kāi)放性和標(biāo)準(zhǔn) 化。

      一、ODBC的產(chǎn)生 和發(fā)展

      關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)生 后很快就成為數(shù)據(jù)庫(kù)系統(tǒng) 的主流產(chǎn)品,由于每個(gè)DBMS廠商都有自己的一套標(biāo)準(zhǔn) ,人們很早就產(chǎn)生 了標(biāo)準(zhǔn) 化的想法,于是產(chǎn)生 了SQL,由于其語(yǔ)法規(guī)范逐漸為人所接管,成為RDBMS上的主導(dǎo)語(yǔ)言。最初,各數(shù)據(jù)庫(kù)廠商為領(lǐng)會(huì) 決互連的問(wèn)題,往往供給嵌入式SQL API,用戶在客戶機(jī)端要操作系統(tǒng) 中的RDBMS時(shí),往往要在程序中嵌入SQL語(yǔ)句進(jìn)行預(yù)編譯。由于不同廠商在數(shù)據(jù)款式、數(shù)據(jù)操作、具體實(shí)現(xiàn)甚至語(yǔ)法方面都具有不同程度 的區(qū)別,所以彼此不能兼容。

      長(zhǎng)期以來(lái),這種API的非規(guī)范情況 令用戶和RDBMS廠商都不能滿意。在80年代后期,一些知名的廠商包孕Oracle、Sybase、Lotus、Ingres、Informix、HP、DEC等結(jié)成了SQL Access Group(簡(jiǎn)稱SAG),提出了SQL API的規(guī)范核心:調(diào)用級(jí)接口(Call Level Interface),簡(jiǎn)稱CLI。

      1991年11月,微軟發(fā)布了ODBC,次年推出可用版本。1992年2月,推出了ODBC SDK 2.0版。ODBC基于SAG的SQL CAE草案所規(guī)定的語(yǔ)法,共分為Core、Level 1、 Level 2三種定義,分辨 規(guī)范了22、16、13共51條命令,其中29條命令甚至越過(guò)了SAG CLI中原有的定義,功效強(qiáng)大而機(jī)動(dòng)。它還包孕標(biāo)準(zhǔn) 的差錯(cuò)代碼集、標(biāo)準(zhǔn) 的連接 和登錄DBMS法子 、標(biāo)準(zhǔn) 的數(shù)據(jù)類型表現(xiàn)等。

      由于ODBC思想上的先進(jìn)性,且沒(méi)有同類的標(biāo)準(zhǔn) 或產(chǎn)品與之競(jìng)爭(zhēng),它一枝獨(dú)秀,推出后僅僅兩三年就受到了眾多廠家與用戶的青睞,成為一種廣為接管的標(biāo)準(zhǔn) 。目前,已經(jīng)有130多家獨(dú)立廠商發(fā)布了對(duì)ODBC的支撐,常見(jiàn)的DBMS都供給了ODBC的驅(qū)動(dòng)接口,這些廠商包孕Oracle、Sybase、Informix、Ingres、IBM(DB/2)、DEC(RDB)、HP(ALLBASE/SQL)、Gupta、Borland(Paradox)等。目前,ODBC已經(jīng)成為客戶機(jī)/服務(wù)器系統(tǒng) 中的一個(gè)首要支撐技巧。

      二、ODBC的根基思想與特性

      ODBC的根基思想是為用戶供給簡(jiǎn)略、標(biāo)準(zhǔn) 、透明的數(shù)據(jù)庫(kù)連接 的公共編程接口,開(kāi)發(fā)廠商根據(jù) ODBC的標(biāo)準(zhǔn) 去實(shí)現(xiàn)底層的驅(qū)動(dòng)程序,這個(gè)驅(qū)動(dòng)對(duì)用戶是透明的,并容許根據(jù) 不同的DBMS采納不同的技巧加以優(yōu)化實(shí)現(xiàn),這就利于不斷吸收 新的技巧而趨完善 。

      這同時(shí)也就是數(shù)據(jù)庫(kù)驅(qū)動(dòng)的思想,它很類似 于Windows中打印驅(qū)動(dòng)的思想。在Windows中,用戶安裝不同的打印驅(qū)動(dòng)程序,應(yīng)用同樣一條打印語(yǔ)句或操作,就可很容易地實(shí)現(xiàn)在不同打印機(jī)上打印輸出,而不需要 領(lǐng)會(huì) 內(nèi)部的具體原理。ODBC出現(xiàn)以后,用戶安裝不同的DBMS驅(qū)動(dòng)就可用同樣的SQL語(yǔ)句實(shí)現(xiàn)在不同DBMS上進(jìn)行同樣的操作,而且無(wú)需預(yù)編譯。ODBC帶來(lái)了數(shù)據(jù)庫(kù)連接 法子 的變化,如圖1所示。在傳統(tǒng)法子 中,開(kāi)發(fā)人員要熟識(shí)多個(gè)DBMS及其API,一旦DBMS端出現(xiàn)變動(dòng),則往往導(dǎo)致用戶端系統(tǒng) 重新編建或者源代碼的修正,這給開(kāi)發(fā)和掩護(hù)工作帶來(lái)了很大艱苦。在ODBC法子 中,不管底層網(wǎng)絡(luò)環(huán)境如何,也無(wú)論采納何種DBMS,用戶在程序中都應(yīng)用同一套標(biāo)準(zhǔn) 代碼,無(wú)需逐個(gè)領(lǐng)會(huì) 各DBMS及其API的特性,源程序不因底層的變更而重新編建或修正,從而減輕了開(kāi)發(fā)掩護(hù)的工作量,縮短了開(kāi)發(fā)周期。

      @@12W03500.GIF;圖1 數(shù)據(jù)庫(kù)連接 法子 的轉(zhuǎn)變 @@

      概括起來(lái),ODBC具有以下機(jī)動(dòng)的特性:

      1. 應(yīng)用戶程序有很高的互操作性,雷同的目標(biāo) 代碼實(shí)用于不同的DBMS;

      2. 由于ODBC的開(kāi)放性,它為程序集成供給了方便,為客戶機(jī)/服務(wù)器結(jié)構(gòu) 供給了技巧支撐;

      3. 由于利用與底層網(wǎng)絡(luò)環(huán)境和DBMS離開(kāi),簡(jiǎn)化了開(kāi)發(fā)掩護(hù)上的艱苦。

      三、ODBC的系統(tǒng)結(jié)構(gòu) 和實(shí)現(xiàn)

      ODBC是依賴分層結(jié)構(gòu) 來(lái)實(shí)現(xiàn)的,如此可保證其標(biāo)準(zhǔn) 性和開(kāi)放性。圖2所示為ODBC的系統(tǒng)結(jié)構(gòu) ,它共分為四層:利用程序、驅(qū)動(dòng)程序管理器、驅(qū)動(dòng)程序和數(shù)據(jù)源。微軟公司對(duì)ODBC規(guī)程進(jìn)行了規(guī)范,它為利用層的開(kāi)發(fā)者和用戶供給標(biāo)準(zhǔn) 的函數(shù)、語(yǔ)法和差錯(cuò)代碼等,微軟還供給了驅(qū)動(dòng)程序管理器,它在Windows中是一個(gè)動(dòng)態(tài)鏈接庫(kù)即ODBC.DLL。驅(qū)動(dòng)程序?qū)佑晌④洝BMS廠商或第三開(kāi)發(fā)商供給,它必須 符合ODBC的規(guī)程,對(duì)于Oracle,它是ORA6WIN.DLL,對(duì)于SQL Server,它是SQLSRVR.DLL。

      @@12W03501.GIF;圖2 ODBC系統(tǒng)結(jié)構(gòu) @@

      下面我們?cè)敿?xì)介紹各層的功效。

      1. 利用程序?qū)?Application)

      應(yīng)用 ODBC接口的利用程序可履行以下任務(wù) :

      ①懇求與數(shù)據(jù)源的連接 和會(huì)話(SQLConnect);

      ②向數(shù)據(jù)源發(fā)送SQL懇求 (SQLExecDirct或SQLExecute);

      ③對(duì)SQL懇求的效果定義存儲(chǔ)區(qū)和數(shù)據(jù)款式;

      ④懇求效果;

      ⑤處理 差錯(cuò);

      ⑥如果需要 ,把效果返回給用戶;

      ⑦對(duì)事務(wù)進(jìn)行把持,懇求履行或回退操作(SQLTransact);

      ⑧終止對(duì)數(shù)據(jù)源的連接 (SQLDisconnect)。

      2. 驅(qū)動(dòng)程序管理器(Driver Manager)

      由微軟供給的驅(qū)動(dòng)程序管理器是帶有輸入庫(kù)的動(dòng)態(tài)連接 庫(kù)ODBC.DLL,其首要目標(biāo)是裝入驅(qū)動(dòng)程序,此外還履行以下工作:

      ①處理 幾個(gè)ODBC初始化調(diào)用;

      ②為每一個(gè)驅(qū)動(dòng)程序供給 ODBC函數(shù)入口點(diǎn);

      ③為ODBC調(diào)用供給參數(shù)和次序 驗(yàn)證。

      3. 驅(qū)動(dòng)程序(Driver)

      驅(qū)動(dòng)程序是實(shí)現(xiàn)ODBC函數(shù)和數(shù)據(jù)源交互的DLL,當(dāng)利用程序調(diào)用SQL Connect或者SQLDriver Connect函數(shù)時(shí),驅(qū)動(dòng)程序管理器裝入相應(yīng)的驅(qū)動(dòng)程序,它對(duì)來(lái)自利用程序的ODBC函數(shù)調(diào)用進(jìn)行應(yīng)答,遵守其請(qǐng)求履行以下任務(wù) :

      ①建立 與數(shù)據(jù)源的連接 ;

      ②向數(shù)據(jù)源提交懇求;

      ③在利用程序需求時(shí),轉(zhuǎn)換數(shù)據(jù)款式;

      ④返回效果給利用程序;

      ⑤將運(yùn)行差錯(cuò)款式化為標(biāo)準(zhǔn) 代碼返回;

      ⑥在需要 時(shí)闡明和處理 光標(biāo)。

      以上這些功效都是對(duì)利用程序?qū)庸πУ木唧w實(shí)現(xiàn)。驅(qū)動(dòng)程序的配置法子 可以劃分為以下兩種。

      (1)單層次(single-tier) 這種法子 下,驅(qū)動(dòng)程序要處理 ODBC調(diào)用SQL語(yǔ)句,并直接節(jié)制數(shù)據(jù)庫(kù),因此具有數(shù)據(jù)存取功效。這種配置最常見(jiàn)的是同一臺(tái)微機(jī)之上異種數(shù)據(jù)庫(kù)通過(guò)ODBC存取,如在Powerbuilder中存取XBase、Excel、Paradox等數(shù)據(jù)文件,如圖3所示。@@12W03502.GIF;圖3 一層配置示意圖@@

      (2)多層次(multiple-tier) 這種配置中驅(qū)動(dòng)程序僅僅處理 ODBC調(diào)用,而將SQL語(yǔ)句交給服務(wù)器履行,然后返回效果。這種情況 往往是利用程序、驅(qū)動(dòng)程序管理器、驅(qū)動(dòng)程序駐留在客戶機(jī)端,而數(shù)據(jù)源和數(shù)據(jù)存取功效放在服務(wù)器端。譬如用Foxpro或Excel存取SQL Server或Oracle上的數(shù)據(jù),如圖4所示。

      @@12W03503.GIF;圖4 二層配置示意圖@@

      有時(shí)在以上兩者之間加上網(wǎng)關(guān)以解決通信 協(xié)議 的轉(zhuǎn)換等問(wèn)題,這時(shí)驅(qū)動(dòng)程序要將懇求先傳送給網(wǎng)關(guān),如造訪 DEC RDB和IBM AS/400時(shí)的配置,如圖5所示。

      @@12W03504.GIF;圖5 三層配置示意圖@@

      4. 數(shù)據(jù)源

      數(shù)據(jù)源由用戶想要存取的數(shù)據(jù)和它相干的操作系統(tǒng) 、DBMS及網(wǎng)絡(luò)環(huán)境組成。

      四、一致性級(jí)別

      從利用程序觀點(diǎn)來(lái)看,最理想 的情況 是每個(gè)數(shù)據(jù)源和驅(qū)動(dòng)程序都支撐同一套ODBC函數(shù)調(diào)用和SQL語(yǔ)句。但是由于形形色色的DBMS在實(shí)現(xiàn)上有很大的區(qū)別,它們所依附的系統(tǒng) 和環(huán)境也各不雷同,在對(duì)ODBC支撐的程度 上就不一致。一致性級(jí)別(Conformance Levels)建立 了對(duì)眾多功效的標(biāo)準(zhǔn) 劃分,為利用程序和驅(qū)動(dòng)程序供給贊助 和選擇的根據(jù)。它劃定了驅(qū)動(dòng)程序所支撐的ODBC函數(shù)和SQL語(yǔ)句的領(lǐng)域,我們可以用SQLGetInfo、SQLGetFunctions、SQLTypeInfo三個(gè)函數(shù)獲知驅(qū)動(dòng)程序所支撐的功效集。ODBC從API和SQL語(yǔ)法兩方面劃分級(jí)別。

      1. API的一致性

      ODBC將函數(shù)調(diào)用劃分為三級(jí)。

      (1)核心API 它包孕了與SAG的CLI相匹配的根基功效,包孕:分配與釋放環(huán)境、連接 及語(yǔ)句句柄;連接 到數(shù)據(jù)源;籌辦并履行 SQL語(yǔ)句或立即履行 SQL語(yǔ)句;為SQL語(yǔ)句和效果列中的參數(shù)分配存儲(chǔ)器;從效果中檢索數(shù)據(jù),檢索效果的信息;提交和取締事務(wù)處理 ;檢索差錯(cuò)信息。

      (2)一級(jí)API 它包孕了核心API的整個(gè)功效,比如用特定驅(qū)動(dòng)程序的對(duì)話框連接 到數(shù)據(jù)源;設(shè)置和查詢語(yǔ)句值和連接 選項(xiàng);送部分或整個(gè)參數(shù)值;檢索部分和整個(gè)效果;檢索目錄信息;檢索關(guān)于驅(qū)動(dòng)程序和數(shù)據(jù)源的信息。

      (3)二級(jí)API 其功效包孕核心和一級(jí)API的整個(gè)功效;涉獵可獲得的連接 和可獲得的數(shù)據(jù)源列表;發(fā)送參數(shù)值數(shù)組,檢索效果數(shù)組;檢索參數(shù)個(gè)數(shù)及參數(shù)描繪;利用可卷動(dòng)的光標(biāo);檢索SQL語(yǔ)句和本機(jī)表格;檢索各種目錄信息;調(diào)用轉(zhuǎn)換DLL。

      2. SQL語(yǔ)法的一致性級(jí)別

      從SQL方面可劃分為最小的SQL語(yǔ)法、核心SQL語(yǔ)法和擴(kuò)張SQL語(yǔ)法三個(gè)等級(jí)。

      五、ODBC的利用與遠(yuǎn)景

      ODBC的出現(xiàn)給用戶刻畫(huà)了一個(gè)誘人的遠(yuǎn)景,即網(wǎng)絡(luò)中的Windows用戶可以方便 地造訪各種數(shù)據(jù)庫(kù)。現(xiàn)在,在微軟推出的許多產(chǎn)品中都供給了ODBC支撐,如Visal Basic 3.0、Visal C1.5、Excel 5.0、Word 6.0、FoxPro、Access等。同時(shí)其他一些利用軟件和開(kāi)發(fā)工具也供給了對(duì)ODBC的支撐。因此用戶只要安裝不同的ODBC驅(qū)動(dòng)程序,就可存取相應(yīng)的數(shù)據(jù)庫(kù)產(chǎn)品,而不管用戶應(yīng)用何種前臺(tái)利用軟件,也不管后臺(tái)是何種數(shù)據(jù)庫(kù),這個(gè)存取的歷程是一致的。

      但是由于ODBC產(chǎn)生 的光陰還不長(zhǎng),其利用也同時(shí)存在著一些問(wèn)題。首先,它的層次對(duì)比多,表現(xiàn) 在性能上比專有的API要慢,這是其標(biāo)準(zhǔn) 化和開(kāi)發(fā)性所帶來(lái)的必要的代價(jià);其次,由于ODBC規(guī)定了三個(gè)層次的一致性級(jí)別,利用程序與驅(qū)動(dòng)程序之間的匹配就會(huì)出現(xiàn)一些問(wèn)題和抵觸,比如某些驅(qū)動(dòng)程序支撐的級(jí)別對(duì)比低,而利用程序請(qǐng)求的對(duì)比高;再者,由于不同的驅(qū)動(dòng)程序?yàn)椴煌拈_(kāi)發(fā)商所開(kāi)發(fā),測(cè)試工作不能統(tǒng)一,而現(xiàn)有的開(kāi)發(fā)和測(cè)試工具并不很完善 ;同時(shí),在非SQL的數(shù)據(jù)庫(kù)系統(tǒng) 上的利用也存在一些問(wèn)題。

      微軟公司將ODBC作為一項(xiàng)很首要的技巧,它已允諾進(jìn)一步改善ODBC技巧,為驅(qū)動(dòng)程序開(kāi)發(fā)者供給更先進(jìn)的開(kāi)發(fā)和測(cè)試工具,還將交付系統(tǒng) 管理和監(jiān)控工具,它還將與DBMS廠商和第三方廠商建立 更密切 的合作,以期使驅(qū)動(dòng)程序支撐更高檔別的一致性,并在規(guī)范化方面有所完善 。目前,ODBC已為數(shù)據(jù)庫(kù)提供商組織內(nèi)部所認(rèn)可,同時(shí)為眾多利用軟件廠商和第三方開(kāi)發(fā)商所應(yīng)用,信任隨著SQL的推廣和規(guī)范,用戶和開(kāi)發(fā)商會(huì)更加依附于這一技巧。

      數(shù)據(jù)庫(kù)集群的概念

      微軟用集群這個(gè)詞和行業(yè)內(nèi)其他的公司的用法和意義是不一樣的。微軟用集群這個(gè)詞指的是故障轉(zhuǎn)移群體。

      業(yè)界其他一些公司定義集群,比如說(shuō)Oracle是叫做可擴(kuò)展性的升級(jí)群體(Cluster)。擴(kuò)展性和可用性是兩個(gè)很接近的概念,在很多的時(shí)候,他們兩者會(huì)互相的影響,如果可用性不存在,擴(kuò)展性也無(wú)從談起。我現(xiàn)在要介紹的是關(guān)于SQL Server 2005在這方面的特性,是非常有利的一個(gè)特性。微軟有一個(gè)叫做SSD(可擴(kuò)展性共享數(shù)據(jù)庫(kù)技術(shù))。

      我們應(yīng)該盡量謹(jǐn)慎使用SSD這一縮寫(xiě),因?yàn)镾SD在業(yè)界有其他的一些表示,我們?cè)谖④泝?nèi)部用SSD來(lái)談可拓展性的需求。相對(duì)于Oracle,IC是一個(gè)比較類似的技術(shù)。這種SSD技術(shù)有一個(gè)局限性,要求數(shù)據(jù)庫(kù)是只讀的,但是同時(shí)又能夠被多個(gè)SQL Server Instense進(jìn)行并發(fā)的訪問(wèn),從這個(gè)上面來(lái)說(shuō),和Lise提供的功能是一致的,但是具有一定的局限性。我們?cè)诿绹?guó)有一個(gè)最大的零售商就是使用這種技術(shù)來(lái)構(gòu)建它的數(shù)據(jù)倉(cāng)庫(kù)。這個(gè)零售商每周要更新一次數(shù)據(jù)庫(kù)系統(tǒng),同時(shí)又有多個(gè)SQL Server要同時(shí)訪問(wèn)這個(gè)數(shù)據(jù)庫(kù)。正是基于這種并發(fā)訪問(wèn)技術(shù),同時(shí)提高了很高的可用性,如果一個(gè)服務(wù)器宕掉了,其他的服務(wù)器還可以同時(shí)對(duì)外提供服務(wù)。像這個(gè)典型的案例,在我們?cè)诰的幫助和相應(yīng)的白皮書(shū)中都有詳細(xì)的描述。

      同時(shí),我們也在使用相對(duì)于業(yè)界其他公司不同設(shè)計(jì)架構(gòu)的一種方式來(lái)真正實(shí)現(xiàn)沒(méi)有局限性,既有高擴(kuò)展性又有高可用性的解決方案。還有很多用戶在使用一種叫做數(shù)據(jù)路由的數(shù)據(jù)庫(kù)。一個(gè)典型的案例是美國(guó)的MySpace公司,是美國(guó)最大的個(gè)人空間服務(wù)提供商,它就使用了數(shù)據(jù)路由數(shù)據(jù)庫(kù)的技術(shù)來(lái)實(shí)現(xiàn)他對(duì)外用100個(gè)SQL Server的服務(wù)來(lái)集中對(duì)外提供服務(wù)。DID技術(shù)就能很好的平衡高可用性、擴(kuò)展性這種綜合的要求。而且從微軟自身MSN.com網(wǎng)站也是使用同樣的DID技術(shù)來(lái)提供高可用性、高拓展性的要求。

    【全面領(lǐng)會(huì) ODBC技巧】相關(guān)文章:

    全面了解ODBC技術(shù)03-18

    全面預(yù)算發(fā)展趨勢(shì)-戰(zhàn)略導(dǎo)向全面預(yù)算12-07

    Delphi 5 數(shù)據(jù)庫(kù)應(yīng)用中ODBC數(shù)據(jù)源的自動(dòng)管理03-18

    談新會(huì)計(jì)準(zhǔn)則的領(lǐng)會(huì)與實(shí)施01-07

    談企業(yè)全面預(yù)算管理03-18

    舞劇創(chuàng)作需要全面反思03-18

    全面審計(jì)風(fēng)險(xiǎn)管理探究03-12

    淺談企業(yè)全面預(yù)算治理03-22

    主站蜘蛛池模板: 97精品一区二区视频在线观看| 国内精品伊人久久久久av一坑| 亚洲精品无码激情AV| 99精品国产在热久久| 手机日韩精品视频在线看网站| 久久久九九有精品国产| 亚洲午夜国产精品无码老牛影视 | 四虎国产精品成人免费久久| 国产精品一久久香蕉国产线看| 久久久久成人精品无码| 国产午夜精品理论片久久影视| 在线观看国产精品日韩av| 国产精品 一区 在线| 99精品一区二区三区无码吞精 | 精品在线免费观看| 无码精品久久久天天影视| 精品久久久无码中文字幕| 亚洲精品你懂的| 国产产无码乱码精品久久鸭| 亚洲国产精品无码久久久秋霞2| 精品欧美一区二区在线看片 | 久久精品亚洲精品国产色婷 | 在线亚洲精品福利网址导航| 93精91精品国产综合久久香蕉| 2020国产精品永久在线| 午夜精品乱人伦小说区 | 国产精品偷窥熟女精品视频| 国产cosplay精品视频| 欧美精品福利在线视频| 好吊妞视频精品| 亚洲中文精品久久久久久不卡| 久久97久久97精品免视看| 91精品国产人成网站| 精品在线免费观看| 久久99精品国产麻豆宅宅| 99精品视频在线观看re| 精品久久人妻av中文字幕| 无码人妻丰满熟妇精品区| 亚洲国产精品一区二区九九| 久久无码人妻精品一区二区三区| 国产精品亚洲mnbav网站|