[转]ODAC 应用技巧 (一)使用 ODAC 的 Net 方式
原文地址:ODAC 應(yīng)用技巧 (一)使用 ODAC 的 Net 方式
使用 ODAC 的 Net 方式
nxyc_twz@163.com
大多數(shù)應(yīng)用程序使用 OCI 的ODAC 標(biāo)準(zhǔn)方式來(lái)連接 Oracle 數(shù)據(jù)庫(kù)服務(wù)器。這是使用第三方開(kāi)發(fā)語(yǔ)言設(shè)計(jì) Oracle 應(yīng)用程序最常用的方法。 所有的 OCI 接口都作為內(nèi)部庫(kù)來(lái)使用,使得編譯生成的應(yīng)用程序非常小。但是,這需要在客戶(hù)機(jī)上安裝 Oracle 客戶(hù)端軟件,這使得安裝和管理要花費(fèi)額外的開(kāi)銷(xiāo)。 有時(shí),安裝 Oracle 客戶(hù)端程序甚至是不可能的。 例如,如果你需要在遠(yuǎn)程計(jì)算機(jī)上設(shè)置你的應(yīng)用程序,你不能提供特殊的文件支持。
ODAC Net 允許你的應(yīng)用程序直接通過(guò) TCP/IP 協(xié)議來(lái)連接 Oracle,而不需要 Oracle 客戶(hù)端軟件。運(yùn)行使用 ODAC Net 的應(yīng)用程序,僅需要有一個(gè)支持 TCP/IP 協(xié)議的操作系統(tǒng)。
使用 ODAC Net 連接 Oracle 服務(wù)器,你需要知道 Oracle 服務(wù)器的地址,監(jiān)聽(tīng)端口號(hào)以及數(shù)據(jù)庫(kù)實(shí)例名稱(chēng)。
在你的應(yīng)用程序中使用 Net 選項(xiàng)前,你只需要設(shè)置 TOraSession 對(duì)象的選項(xiàng) Net 為 True 且指定它的Server 屬性為指定的數(shù)據(jù)庫(kù)。如果使用 ODAC 的標(biāo)準(zhǔn)方式通過(guò) OCI 來(lái)連接數(shù)據(jù)庫(kù),你必須設(shè)置 Server 屬性為 TNS 別名,但現(xiàn)在使用 ODAC 的 Net 選項(xiàng),你只需要指定數(shù)據(jù)庫(kù)字符串,格式如下: Host:Port:SID.
這里, Host 指服務(wù)器地址, Port 指服務(wù)器監(jiān)聽(tīng)端口號(hào), SID 指特定的系統(tǒng)實(shí)例名稱(chēng)。
這里有個(gè)例子示范不使用 OCI 而 連接數(shù)據(jù)庫(kù):
var
Session: TOraSession;
. . .
Session.Options.Net := True;
Session.Username := 'Scott';
Session.Password := 'tiger';
Session.Server := '205.227.44.44:1521:orcl';
Session.Connect;
注意:這些是你的應(yīng)用程序要支持 Net 選項(xiàng)時(shí)所必須的。你不需要重寫(xiě)應(yīng)用程序的其它部分。除此之外,你還可以在任何時(shí)候通過(guò) OCI 連接 Oracle 。要實(shí)現(xiàn)它,你僅需要設(shè)置 TOraSession.Options.Net 選項(xiàng)為 False.
OCI 與 Net:
使用 ODAC 標(biāo)準(zhǔn)方式和 Net 方式編譯的應(yīng)用程序,在程序大小和運(yùn)行速度上非常相似。使用 Net 選項(xiàng)在安全方面,與使用 OCI 的 Oracle 的加密方式并不相同。 Net 使用 DES 來(lái)驗(yàn)證安全性,現(xiàn)在它并不支持 Oracle 的加密方式。
ODAC Net 的優(yōu)勢(shì):
- 不需要安裝和管理 Oracle 客戶(hù)端軟件;
- 減少系統(tǒng)需求。
ODAC Net 選項(xiàng)的限制:
僅支持通過(guò) TCP/IP 協(xié)議來(lái)連接 Oracle;
不支持 Oracle 8 的對(duì)象,數(shù)組;
不支持 TOraLoader 的直接裝載;
請(qǐng)注意:我們并不能保證 ODAC Net 可以在所有網(wǎng)絡(luò)上的所有 Oracle 服務(wù)器上運(yùn)行。我們使用 Net 選項(xiàng)在本地局域網(wǎng)上測(cè)試了 Windows 平臺(tái)上 Oracle 7.3 以后的所有版本。
ODAC 通過(guò) OCI 可以運(yùn)行在所有的 Oracle 服務(wù)器上。Net 選項(xiàng)在 Window 及 Linux 平臺(tái)上的所有Oracle 服務(wù)器上被測(cè)試過(guò)。我們不能保證它可以運(yùn)行在其它平臺(tái)上。
使用防火墻時(shí)可能會(huì)出現(xiàn)驗(yàn)證問(wèn)題。
Net 選項(xiàng)在本地語(yǔ)言下運(yùn)行時(shí)會(huì)有些不同。它不支持客戶(hù)端的 NLS 轉(zhuǎn)換。
BreakExec 過(guò)程不能運(yùn)行。
TOraLoader 組件不在運(yùn)行在直接路徑接口模式(lmDirect 模式)。
Net 選項(xiàng)還有一些其它問(wèn)題。例如,進(jìn)行截?cái)嗳掌诒容^時(shí)會(huì)出現(xiàn)錯(cuò)誤。
SELECT * FROM scott.emp WHERE hiredate >= TRUNC(:hiredate)
執(zhí)行該查詢(xún)時(shí)會(huì)出現(xiàn) ORA-00932 錯(cuò)誤: 不支持的數(shù)據(jù)類(lèi)型。
如果沒(méi)有上面的限制,你可以通過(guò) OCI 在任何時(shí)間關(guān)閉連接。
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/nxyc_twz/archive/2003/02/15/16060.aspx
?
--
使用ODAC方式最大的好處在于可以不用在系統(tǒng)運(yùn)行的機(jī)器上部署Oracle客戶(hù)端,不過(guò)此方式與客戶(hù)端方式相比有一定限制,使用時(shí)需注意。詳細(xì)信息可參考nxyc_twz的博客。
總結(jié)
以上是生活随笔為你收集整理的[转]ODAC 应用技巧 (一)使用 ODAC 的 Net 方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 做梦梦到抬棺材是什么意思
- 下一篇: 转,rsa算法