麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

用SQLJ開發數據庫(5)

2019-11-18 13:37:55
字體:
來源:轉載
供稿:網友

  用SQLJ開發數據庫(5)

   SQLJ語言元素

   SQLJ是正在發展的工業標準語言,答應你使用獨立于數據庫代碼的Oracle存儲過程,可以很輕易地移植到其他的可使用java的數據庫平臺。知道連接上下文,迭代程序,可執行語句和主表達式的情況,那么你就可以把一些實際的SQLJ語句用到現實的應用程序中。

   在前文中,我描述了SQLJ是什么,比較了PL/SQL和JDBC,并且研究了SQLJ的好處。 在本文中,我將研究一下SQLJ編程語言的基礎,這樣你就可以在現實的應用程序中使用SQLJ了。SQLJ程序是一個使用嵌入式結構化詢問語言語句的規則的Java程序,以一個#_sql標記開始并以一分號結束。有二類SQLJ語句∶聲明和可執行語句。聲明語句聲明了連接上下文和迭代程序。連接上下文用來建立數據庫連接,而迭代程序被用來存儲由SQL查詢返回的結果集;可執行語句執行嵌入式結構化詢問語句和PL/SQL程序塊。因為SQLJ程序將要被翻譯然后通過JDBC運行,任何JDBC驅動程序支持的SQLJ語句可能內嵌在一個SQLJ可執行語句中。可執行語句可能同時包含主表達式,在Java程序和數據庫之間通過Java變量交換信息。

   Oracle JDBC驅動程序

   Oracle提供下列JDBC驅動程序∶

   客戶端瘦驅動程序是一個100%純Java驅動程序,用于在沒有安裝Oracle的客戶端。Oracle推薦使用小應用程序。當Java小應用程序運行的時候,它可以下載到瀏覽器中。

   OCI驅動程序( OCI8和OCI7)是用于安裝了Oracle客戶端程序的客戶端。Oracle JDBC OCI驅動程序通過調用Oracle調用界面( OCI)直接從Java訪問數據庫,提供與不同版本的Oracle7,Oracle8和8i之間最大的兼容性。這些驅動程序要求Oracle客戶程序安裝Net8。服務器端瘦驅動程序提供了與客戶端瘦驅動程序相同的函數,但是在一個Oracle數據庫內運行并且訪問一個遠程數據庫。這對于從一個擔任中間層的Oracle服務器上訪問遠程Oracle服務器是很有用的,或者,更簡單一些來說,從一個層內訪問另一個Oracle服務器,例如從某一個Java存儲過程或者EJB內訪問Oracle服務器。

   服務器端內部驅動程序,稱為KPRB(Kernel Program Bundled),提供對任何在執行SQL操作的目的Oracle數據庫內運行的Java代碼的支持。服務器端內部驅動程序答應JServer JVM直接與SQL引擎通信。這是一個默認的用于在Oracle 8i/9i服務器上運行SQLJ代碼的JDBC驅動程序,這些SQLJ代碼用作存儲過程,存儲函數,觸發器,EJB或CORBA對象。KPRB JDBC驅動程序非常輕便但是效率高,并且在Oracle JServer內運行非凡地能夠做到盡善盡美。這就是我們要來寫SQLJ存儲過程所用的驅動程序。讓我們來研究一下描述的SQLJ元素,逐一介紹:連接上下文,迭代程序,可執行語句以及主表達式。

   連接上下文用于單一連接,你可以使用DefaultContext類的一個實例并在構造DefaultContext對象時指定數據庫URL,用戶名和口令。這是使用Oracle公司提供的oracle.sqlj.runtime.Oracle類的connect()方法的最輕易的方法。在本例中,我們將要使用JDBC瘦驅動程序以及用戶名"scott"和口令"tiger"來通過端口1521連接MYSERVER服務器上的數據庫,在這個服務器里,數據庫的SID是ORCL∶
Oracle.connect("jdbc:oracle:thin@MYSERVER:1521:ORCL", "scott", "tiger");它創建DefaultContext類的一個實例并且把它作為默認連接。并不一定需要直接使用DefaultContext的實例做任何事情。對于多重連接,你可以創建并通過使用Oracle.getConnection ()方法來使用DefaultContext類的輔助實例。在本例子中,你將使用Oracle OCI8驅動程序使用MYSERVER_ORCL作為Oracle服務名,在TNSNames.ora文件中創建做為一個ORCL實例∶


DefaultContext myContext1 = Oracle.getConnection
("jdbc:oracle:oci8@MYSERVER_ORCL", "scott", "tiger");
DefaultContext myContext2 = Oracle.getConnection
("jdbc:oracle:oci8@MYSERVER_ORCL ", "tom", "bear");

   這段代碼創建二個連接上下文實例,它們兩個都使用相同的Oracle OCI8驅動程序,但是不同的模式。你可以通過使用為每個語句指定連接模式的方法在兩個不同的模式中執行SQL操作。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 激情大乳女做爰办公室韩国 | 毛片在线视频观看 | 久久精品国产99国产精品澳门 | 久久网页 | 亚洲一区二区在线视频 | 久久久www成人免费毛片 | 中文字幕一区二区三区久久 | 色戒在线版 | 依人九九宗合九九九 | 久久久久女人精品毛片九一 | 免费看成人av| 黄色片免费在线 | 精品成人在线观看 | 久久久久久久一区 | 91色琪琪电影亚洲精品久久 | 在线观看美女av | 精品久久久久久久久久 | 99国内精品视频 | 欧美成人精品不卡视频在线观看 | 成人mm视频在线观看 | 美女又黄又www | 成人午夜免费在线观看 | 成人福利视频导航 | 黄色大片在线免费看 | 国产日韩在线观看视频 | 国av在线 | 一级做受大片免费视频 | 国产男女爽爽爽爽爽免费视频 | 成人午夜视频免费在线观看 | 九一国产精品 | 色播av在线 | 国产亚洲精品美女久久久 | 72pao成人国产永久免费视频 | 亚洲极色| 国产一级毛片在线看 | 精品一区二区三区四区在线 | 久久久久久久久久久国产精品 | 日韩在线激情 | 精品久久久久久久久中文字幕 | 成人免费在线网 | 鲁丝一区二区二区四区 |