freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

db2數(shù)據(jù)庫(kù)對(duì)象基礎(chǔ)知識(shí)(參考版)

2025-07-01 08:14本頁(yè)面
  

【正文】 18 / 18。我們還討論了關(guān)于應(yīng)用程序如何使用這些 API 與 DB2 打交道的基礎(chǔ)。DB2 提供了本地驅(qū)動(dòng)程序,使得應(yīng)用程序能夠通過這些接口使用 DB2 數(shù)據(jù)。您需要理解兩者之間的不同之處,以便在使用靜態(tài) SQL 語句與使用動(dòng)態(tài) SQL 語句之間作出選擇。嵌入式 SQL 編程允許將 SQL 語句嵌入在用 C/C++、FORTRAN、COBOL 或 Java 語言編寫的程序中。它們以簡(jiǎn)單的語句和邏輯高效地執(zhí)行。存儲(chǔ)過程可作為程序的子例程,通常包含復(fù)雜的應(yīng)用程序邏輯。本教程討論了使用例程的一些優(yōu)點(diǎn),例如減少網(wǎng)絡(luò)傳輸,加強(qiáng)安全,以及提高代碼的可重用性。別名、序列對(duì)象以及臨時(shí)表常用于簡(jiǎn)化應(yīng)用程序的代碼。在進(jìn)行開發(fā)之前,您需要熟悉不同類型的數(shù)據(jù)庫(kù)對(duì)象。實(shí)現(xiàn)類的名稱是 。該驅(qū)動(dòng)程序支持與使用 Type 4 driver 架構(gòu)的 DB2 服務(wù)器建立直接 Java 連接。DB2 Universal JDBC 驅(qū)動(dòng)程序 Fixpak 2 of DB2 V8 引入了 DB2 Universal JDBC 驅(qū)動(dòng)程序。DB2 V8 中摒棄了 net driver,而推薦 Type 4 driver。有了這個(gè)驅(qū)動(dòng)程序,就不必在客戶機(jī)上安裝 DB2 客戶機(jī)。所有 JDBC 調(diào)用都被轉(zhuǎn)換成 DB2 CLI 調(diào)用。另一個(gè)實(shí)現(xiàn)是 JDBC Type 3 driver,也叫 net driver。第一個(gè)是 JDBC Type 2 driver,也叫 app driver。遺留的基于 CLI 的 JDBC 驅(qū)動(dòng)程序建立在本地 DB2 CLI 之上。DB2 遺留的基于CLI 的 JDBC 驅(qū)動(dòng)程序 根據(jù) Java 2 Platform, Enterprise Edition (J2EE) 規(guī)范,用于獲得數(shù)據(jù)訪問的 Java 方法和接口可以打包成 JDBC 驅(qū)動(dòng)程序。在編譯 SQLJ 源文件之前,必須用 SQLJ 翻譯器對(duì)其進(jìn)行翻譯,以創(chuàng)建本地 Java 源代碼。而 SQLJ 程序則包含靜態(tài)嵌入式 SQL 語句。DB2 通過 JDBC API 執(zhí)行 SQL 語句,結(jié)果被傳回給 Java 代碼。JDBC 是用于關(guān)系數(shù)據(jù)庫(kù)訪問的 實(shí)際上的 標(biāo)準(zhǔn) Java API,這種訪問通過強(qiáng)大的面向?qū)ο蟮慕涌冢褂脛?dòng)態(tài) SQL。訪問和操縱 DB2 的 Java 程序可以使用 Java Database Connectivity (JDBC) API,以及 Embedded SQL for Java (SQLJ) 標(biāo)準(zhǔn)。有三種方法從一個(gè) .NET 應(yīng)用程序連接到一個(gè) DB2 數(shù)據(jù)庫(kù),如下圖所示。ActiveX Data Object .NET () 是 Microsoft 提供的另一種數(shù)據(jù)訪問應(yīng)用程序接口。下面的圖展示了一個(gè)可作為 OLE DB 消費(fèi)者的 DB2 數(shù)據(jù)庫(kù),它可以訪問來自任何遵從 OLE DB 的數(shù)據(jù)源(例如一個(gè)電子表格)的數(shù)據(jù)。為了使 DB2 能夠充當(dāng) OLE DB 提供者,必須要有 IBM OLE DB Provider for DB2。OLE DB 架構(gòu)由 OLE DB 提供者和 OLE DB 消費(fèi)者組成。下面的圖對(duì) DB2 CLI 與 ODBC 環(huán)境作了快速的比較。而要開發(fā) ODBC 應(yīng)用程序,則需要 Microsoft 提供的一個(gè) ODBC Developer39。要開發(fā) DB2 CLI 應(yīng)用程序,需要 DB2 Application Development Client。該管理器動(dòng)態(tài)地加載應(yīng)用程序需連接的數(shù)據(jù)庫(kù)服務(wù)器所需的驅(qū)動(dòng)程序。DB2 CLI 是基于 Microsoft Open Database Connectivity (ODBC) 和 X/Open CLI 標(biāo)準(zhǔn)的。嵌入式動(dòng)態(tài) SQL 要求有一個(gè)預(yù)編譯器,而 DB2 CLI 則沒有這種要求。您可以使用 DB2 CLI 開發(fā)動(dòng)態(tài)應(yīng)用程序,就像使用嵌入式動(dòng)態(tài) SQL 語句進(jìn)行開發(fā)一樣。CLI 和 ODBC API DB2 Call Level Interface (CLI) 是 IBM 對(duì) DB2 數(shù)據(jù)庫(kù)服務(wù)器的可調(diào)用 SQL 接口。 在下面幾小節(jié)中,我們將看看 DB2 支持的一些 API。應(yīng)用程序調(diào)用這些 API,然后被編譯,再與管理器的庫(kù)鏈接。基于驅(qū)動(dòng)程序的解決方案需要一個(gè)驅(qū)動(dòng)程序管理器(driver manager),這是與應(yīng)用程序打交道的界面。還必須生成數(shù)據(jù)訪問計(jì)劃,并綁定到目標(biāo)數(shù)據(jù)庫(kù)。 靜態(tài) SQL 與動(dòng)態(tài) SQL在下面的表中,讓我們總結(jié)并詳細(xì)闡述我們所學(xué)到的關(guān)于靜態(tài) SQL 和動(dòng)態(tài) SQL 的知識(shí):基于驅(qū)動(dòng)程序的 API基于驅(qū)動(dòng)程序的 API雖然大多數(shù)供應(yīng)商都支持嵌入式 SQL 數(shù)據(jù)庫(kù)訪問,但如果您想要使用同樣的源代碼,并將嵌入式 SQL 應(yīng)用程序部署到多個(gè)數(shù)據(jù)庫(kù)系統(tǒng)上,那么還需要一個(gè)額外的工作。在程序執(zhí)行時(shí),用戶需要所有必需的權(quán)限來發(fā)出每條 SQL 語句,同時(shí)還需要為嵌入式 SQL 程序創(chuàng)建的包上的 EXECUTE 權(quán)限。編譯嵌入式動(dòng)態(tài) SQL 程序的用戶也需要 BINDADD 權(quán)限。由于預(yù)編譯或 PREPARE 階段會(huì)生成一個(gè)包,并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此該用戶還必須擁有 BINDADD 權(quán)限,以便添加新的包到數(shù)據(jù)庫(kù)中。下一小節(jié)將更詳細(xì)地討論 DB2 權(quán)限。SQL 語句的授權(quán)是在運(yùn)行時(shí)決定的。在準(zhǔn)備語句時(shí),總是使用當(dāng)前數(shù)據(jù)庫(kù)統(tǒng)計(jì)信息。為了最小化這些準(zhǔn)備工作的開銷,DB2 提供了 包緩存(也叫 動(dòng)態(tài)查詢緩存),用以將經(jīng)常使用的訪問計(jì)劃保存在內(nèi)存中。惟一的不同點(diǎn)是,動(dòng)態(tài) SQL 的 PREPARE 和 EXECUTE 都是在運(yùn)行時(shí)進(jìn)行,而靜態(tài) SQL 在預(yù)編譯時(shí)準(zhǔn)備訪問計(jì)劃,并將其保存在數(shù)據(jù)庫(kù)中。一旦生成了數(shù)據(jù)訪問計(jì)劃,準(zhǔn)備好的語句就可以 EXECUTE 了。DELETE 語句的文本存儲(chǔ)在一個(gè)宿主變量 hostVarStmt 中。語句的結(jié)構(gòu)直到執(zhí)行應(yīng)用程序時(shí)才需要。只要執(zhí)行包的人擁有包的 EXECUTE 權(quán)限,他就不需要具備該包中所引用的數(shù)據(jù)庫(kù)對(duì)象上的顯式的權(quán)限。如果數(shù)據(jù)庫(kù)統(tǒng)計(jì)信息有變化,則預(yù)先生成的訪問計(jì)劃可能不如一開始生成時(shí)那樣是最佳的。由于在運(yùn)行時(shí)不需要編譯語句,因此執(zhí)行靜態(tài) SQL 時(shí)沒用編譯開銷。編譯靜態(tài) SQL 語句(或者,用 DB2 術(shù)語更確切地說,準(zhǔn)備好的(prepared)SQL 語句)時(shí),將為其生成數(shù)據(jù)訪問計(jì)劃,并存儲(chǔ)在數(shù)據(jù)庫(kù)中的一個(gè)包里面。表名、列名以及所引用的數(shù)據(jù)類型都是已知的。這個(gè)例子中的 SELECT 語句說明了靜態(tài) SQL 的使用。 return 0。 /* execute the statement */ EXEC SQL EXECUTE Stmt。 /* prepare the statement */ strcpy(hostVarStmt
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1