




免費(fèi)預(yù)覽已結(jié)束,剩余7頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Delphi連接Oracle數(shù)據(jù)庫(kù)的三種方式2007-09-14 14:08Oracle是以高級(jí)結(jié)構(gòu)化查詢語(yǔ)言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫(kù),是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一,目前被廣泛應(yīng)用于各類(lèi)型企業(yè)的信息化管理中。數(shù)據(jù)庫(kù)支持是Delphi7.0開(kāi)發(fā)環(huán)境的一個(gè)重要特性,很多程序員在數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)中都采用Delphi7.0作為開(kāi)發(fā)工具,來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和控制。Delphi數(shù)據(jù)庫(kù)應(yīng)用程序是通過(guò)數(shù)據(jù)庫(kù)引擎來(lái)訪問(wèn)它們引用的數(shù)據(jù)源的。本文概括性的介紹在Windows XP環(huán)境中Delphi7.0連接Oracle數(shù)據(jù)庫(kù)的3種方式,它們分別是BDE、ADO、DbExpress。這3種方式都需要安裝Oracle客戶端并配置tnsnames.ora文件。將Oracle客戶端安裝到本地計(jì)算機(jī),打開(kāi)c:oraclenetworkadmintnsnames.ora文件,按照所要訪問(wèn)的數(shù)據(jù)庫(kù)的配置,添加下面的內(nèi)容TEST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 34)(PORT = 1521) )(CONNECT_DATA =(SID = test) ) 其中HOST,PORT,SID的值與所訪問(wèn)的數(shù)據(jù)庫(kù)配置有關(guān)。1傳統(tǒng)的BDE BDE(Borland Database Engine)使用別名引用數(shù)據(jù)庫(kù)文件或目錄,需要在客戶的計(jì)算機(jī)上與應(yīng)用程序一起安裝BDE。連接步驟:1.1 安裝BDE。在Delphi7.0的安裝盤(pán)中含有BDE安裝程序,按照默認(rèn)方式安裝的計(jì)算機(jī),并配置好所要訪問(wèn)的Oracle數(shù)據(jù)庫(kù)的別名,例如:test。1.2 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫(kù)。將BDE選項(xiàng)卡中的Database組件將放入應(yīng)用程序的主窗體,雙擊TDatabase,出現(xiàn)TDatabase組件編輯器,輸入數(shù)據(jù)庫(kù)別名、用戶名和密碼,點(diǎn)擊按鈕。在對(duì)象檢視器中將TDatabase組件的LoginPrompt屬性值設(shè)為False(避免出現(xiàn)登陸對(duì)話框,下同),將TDatabase組件的Connected屬性值設(shè)為T(mén)rue,這樣就成功的連接到Oracle服務(wù)器了。1.3 使用TTable組件訪問(wèn)數(shù)據(jù)。將TTable組件放置到應(yīng)用程序的主窗體,設(shè)置其DatabaseName屬性值為test,再放入TdataSource和TDBGrid組件,接下來(lái)的工作就與開(kāi)發(fā)本地?cái)?shù)據(jù)庫(kù)應(yīng)用程序相同了。2 Microsoft的ADO ADO(ActiveX Data Objects)是Microsoft的高級(jí)接口,基于Microsoft的數(shù)據(jù)訪問(wèn)OLEDB技術(shù)而實(shí)現(xiàn)。連接步驟:2.1 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫(kù)。將ADO選項(xiàng)卡中的TADOConnection組件放入應(yīng)用程序的主窗體,雙擊TADOConnection,在出現(xiàn)的對(duì)話框中點(diǎn)選Use Connection String,在其下面的框中輸入:Provider=MSDAORA.1;User ID=test;Data Source=test;Persist Security Info=False,其中test為Oracle服務(wù)器名和用戶名。在對(duì)象檢視器中將TADOConnection組件的LoginPrompt屬性值設(shè)為False,將TADOConnection組件的Connected屬性值設(shè)為T(mén)rue,這樣就成功的連接到Oracle服務(wù)器了。2.2 使用TADOCommand組件訪問(wèn)數(shù)據(jù)。將TADOCommand組件放置到應(yīng)用程序的主窗體,設(shè)置其Connec tion屬性值為Connection1,點(diǎn)擊其CommandText屬性值,在出現(xiàn)的對(duì)話框中輸入SQL查詢語(yǔ)句(本文以查詢數(shù)據(jù)為例),再放入TdataSource和TDBGrid組件,接下來(lái)的工作就與開(kāi)發(fā)本地型數(shù)據(jù)庫(kù)應(yīng)用程序相同了。3 新一代夸平臺(tái)的數(shù)據(jù)庫(kù)訪問(wèn)引擎DbExpress DbExpress是一組新的組件,技術(shù)和驅(qū)動(dòng)程序,具備了夸平臺(tái)的能力,讓程序員能夠開(kāi)發(fā)出更有效率的數(shù)據(jù)庫(kù)應(yīng)用程序,因此會(huì)成為以后Delphi和Kylix的核心數(shù)據(jù)訪問(wèn)技術(shù)。連接步驟:3.1 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫(kù)。將 dbExpress選項(xiàng)卡中的TSQLConnection組件放入應(yīng)用程序的主窗體,雙擊TQLConnection,出現(xiàn)TSQLConnection組件編輯器,選擇Oracle作為Driver Name,輸入數(shù)據(jù)庫(kù)名稱(chēng)、用戶名和密碼,點(diǎn)擊按鈕。在對(duì)象檢視器中將TSQLConnection組件的LoginPrompt屬性值設(shè)為False,將TSQLConnection組件的Connected屬性值設(shè)為T(mén)rue,這樣就成功的連接到Oracle服務(wù)器了。3.2 使用TSQLDataSet組件訪問(wèn)數(shù)據(jù)。將TSQLDataSet組件放置到應(yīng)用程序的主窗體,設(shè)置其SQLConne ction屬性值為SQLConnection1,點(diǎn)擊其CommandText屬性值,在出現(xiàn)的對(duì)話框中輸入SQL查詢語(yǔ)句(本文以查詢數(shù)據(jù)為例),再放入TdataSource和TDBGrid組件,接下來(lái)的工作就與開(kāi)發(fā)本地?cái)?shù)據(jù)庫(kù)應(yīng)用程序相同了。類(lèi)別:Delphi | 添加到搜藏 | 瀏覽(2844) | 評(píng)論(1) 上一篇:RMVB電影中廣告的去除下一篇:Server Application ErrorA 安裝相關(guān)軟件 B 進(jìn)行適當(dāng)?shù)呐渲?A在適當(dāng)?shù)奈恢冒惭b適當(dāng)?shù)能浖?你的電腦為客戶端,所以必須: 1安裝ORACLE的Oracle Net通訊軟件,它包含在oracle的客戶端軟件中。 (當(dāng)然,如果你安裝了ORACLE服務(wù)器版也包括 Oracle Net) 2正確配置了sqlnet.ora文件: NAMES.DIRECTORY_PATH = (TNSNAMES, .) NAMES.DEFAULT_DOMAIN=DB_DOMAIN 一般情況下我們不用NAMES.DEFAULT_DOMAIN參數(shù)。如果想不用該參數(shù)用#注釋掉或?qū)⒃搮?shù)刪除即可,對(duì)于NAMES.DIRECTORY_PATH參數(shù)采用缺省值即可,對(duì)于NAMES.DEFAULT_DOMAIN參數(shù)有時(shí)需要注釋掉,在下面有詳細(xì)解釋。 3正確配置了tnsname.ora文件 B進(jìn)行適當(dāng)?shù)呐渲?如何正確配置tnsname.ora文件: 可以在客戶端機(jī)器上使用oracle Net Configuration Assistant或oracle Net Manager圖形配置工具對(duì)客戶端進(jìn)行配置,該配置工具實(shí)際上修改tnsnames.ora文件。所以我們可以直接修改tnsnames.ora文件,下面以直接修改tnsnames.ora文件為例: 該文件的位置為: networkadmintnsnames.ora (for windows) /network/admin/tnsnames.ora (for unix) (為你的ORACLE安裝的目錄) 此處,假設(shè)服務(wù)器名為testserver,服務(wù)名為,使用的偵聽(tīng)端口為1521,則tnsnams.ora文件中的一個(gè)test網(wǎng)絡(luò)服務(wù)名(數(shù)據(jù)庫(kù)別名)為: test = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521) ) (CONNECT_DATA=(SERVICE_NAME=) ) ) 內(nèi)容解釋如下: PROTOCOL:客戶端與服務(wù)器端通訊的協(xié)議,一般為T(mén)CP,該內(nèi)容一般不用改。 HOST:數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的機(jī)器名或IP地址,數(shù)據(jù)庫(kù)偵聽(tīng)一般與數(shù)據(jù)庫(kù)在同一個(gè)機(jī)器上,所以當(dāng)我說(shuō)數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器一般也是指數(shù)據(jù)庫(kù)所在的機(jī)器。在UNIX或WINDOWS下,可以通過(guò)在數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的命令提示符下使用hostname命令得到機(jī)器名,或通過(guò)ipconfig(for WINDOWS) or ifconfig(for UNIX)命令得到IP地址。需要注意的是,不管用機(jī)器名或IP地址,在客戶端一定要用ping命令ping通數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的機(jī)器名,否則需要在hosts文件中加入數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的機(jī)器名的解析。 PORT:數(shù)據(jù)庫(kù)偵聽(tīng)正在偵聽(tīng)的端口,可以察看服務(wù)器端的listener.ora文件或在數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的命令提示符下通過(guò)lnsrctl status listener name命令察看。此處Port的值一定要與數(shù)據(jù)庫(kù)偵聽(tīng)正在偵聽(tīng)的端口一樣。 SERVICE_NAME:在服務(wù)器端,用system用戶登陸后,sqlplus show parameter service_name命令察看。 如何利用配置的網(wǎng)絡(luò)服務(wù)名連接到數(shù)據(jù)庫(kù): 用sqlplus程序通過(guò)test網(wǎng)絡(luò)服務(wù)名進(jìn)行測(cè)試,如sqlplus system/managertest。如果不能連接到數(shù)據(jù)庫(kù),則在tnsname.ora文件中的test網(wǎng)絡(luò)服務(wù)名(net service)后面加上Oracle數(shù)據(jù)庫(kù)的DB_Domain參數(shù)值,通過(guò)用sqlplus show parameter db_domain命令察看。此處db_domain參數(shù)值為,將其加到網(wǎng)絡(luò)服務(wù)名后面,修改后的tnsname.ora中關(guān)于該網(wǎng)絡(luò)服務(wù)名的內(nèi)容為: = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521) ) (CONNECT_DATA=(SERVICE_NAME=) ) ) 用sqlplus程序通過(guò)網(wǎng)絡(luò)服務(wù)名測(cè)試,如sqlplus system/。 關(guān)于為什們?cè)诰W(wǎng)絡(luò)服務(wù)名后面加db_domain參數(shù),需要了解sql*plus連接數(shù)據(jù)庫(kù)的原理。參考資料:/jianzhan/wzkf/shujuku/ORACLE/200604/9531.htmlOracle數(shù)據(jù)庫(kù)中主要配置文件的經(jīng)典解析敬業(yè)的IT人 2008-1-8 9:52:32 Oracle 主要配置文件: profile文件,oratab 文件,數(shù)據(jù)庫(kù)實(shí)例初始化文件 initSID.ora,監(jiān)聽(tīng)配置文件, sqlnet.ora 文件,tnsnames.ora 文件 1.2 Oracle 主要配置文件介紹 1.2.1 /etc/profile 文件 系統(tǒng)級(jí)的環(huán)境變量一般在/etc/profile 文件中定義 在 CAMS 系統(tǒng) 與數(shù)據(jù)庫(kù) 相關(guān)的環(huán)境變量就定義在/etc/profile 文件中 如下所示 export ORACLE_BASE=/u01/app/oracleexport $ORACLE_BASE/product/8.1.7exportORACLE_HOME= $ORACLE_HOME/binexport$PATH:PATH= $ORACLE_HOME/lib:/usr/libexport ORACLE_SID=camsexportLD_LIBRARY_PATH= $ORACLE_HOME/ocommon/nls/admin/dataexportORACLE_TERM=vt100export ORA_NLS33= NLS_LANG=AMERICAN.ZHS16CGB231280說(shuō)明 1 配置上述環(huán)境變量要注意定義的先后順序 如: 定義 ORACLE_HOME 時(shí) 用 到 了 ORACLE_BASE,那 么 ORACLE_HOME 的 定 義 應(yīng) 該 在 ORACLE_BASE之后 2 使用中文版 CAMS 環(huán)境變量 NLS_LANG 的值應(yīng)該設(shè)置為 AMERICAN.ZHS16CGB231280 如上所示在使用英文版 CAMS時(shí) 可 以不設(shè)置 NLS_LANG 即去掉 export NLS_LANG=. . 那一行 也可以 設(shè)置 NLS_LANG 的值為 AMERICAN_AMERICA.US7ASCII 1.2.2 /etc/oratab 文件 /etc/oratab 文件描述目前系統(tǒng)中創(chuàng)建的數(shù)據(jù)庫(kù)實(shí)例 以及是否通過(guò) dbstart 和 dbshut 來(lái)控制該實(shí)例的啟動(dòng)與關(guān)閉 如下所示 忽略以#開(kāi)頭的注釋部分 : cams:/u01/app/oracle/product/8.1.7:Y 其中 cams 為實(shí)例 ID /u01/app/oracle/product/8.1.7為 ORACLE_HOME目 錄 Y表示允許使用 dbstart和 dbshut 啟動(dòng)和關(guān)閉該實(shí)例數(shù)據(jù)庫(kù) 如果設(shè)置為 N 表示不通過(guò) dbstart 和 dbshut 啟動(dòng)和關(guān)閉實(shí)例數(shù)據(jù)庫(kù) CAMS 系統(tǒng)要求在 安裝完 ORACLE 后要求將該參數(shù)修改為 Y 以保證 ORACLE 數(shù)據(jù)庫(kù)自啟動(dòng)和關(guān)閉 1.2.3 數(shù)據(jù)庫(kù)實(shí)例初始化文件 initSID.ora 每個(gè)數(shù)據(jù)庫(kù)實(shí)例都有一個(gè)初始化 參數(shù)文件 其缺省 存放的路徑為 $ORACLE_BASE/admin/pfile 其名稱(chēng)為 init.ora 如 cams 實(shí) 例 對(duì) 應(yīng) 的 參 數(shù) 文 件 為 initcams.ora 缺 省 存 放 路 徑 為 $ORACLE_BASE/admin/cams/pfile 即/u01/app/oracle/admin/cams/pfile 但 在 CAMS 應(yīng) 用 中 initcams.ora 的 存 放 路 徑 為 /u02/app/oracle/admin/cams/pfile 這是基于數(shù)據(jù)與應(yīng)用程序分開(kāi)存放更好地 保護(hù)數(shù)據(jù)考慮的 尤其在 CAMS 雙機(jī)應(yīng)用模式下 能夠保證數(shù)據(jù)的一致性 具體的修改操作可參考 Linux與 Oracle 安裝手冊(cè) 初始化參數(shù)文件是一個(gè)包含實(shí)例配置參數(shù)的文本文件 這些參數(shù)被設(shè)置為特 定的值 用于初始化 Oracle 實(shí)例的多數(shù)內(nèi)存和進(jìn)程設(shè)置 以下是一些主要參 數(shù)的說(shuō)明 1 實(shí)例的數(shù)據(jù)庫(kù)名稱(chēng) db_name = cams2 實(shí)例名稱(chēng) instance_name = cams3 數(shù)據(jù)庫(kù)控制文件的名稱(chēng)和位置 control_files = (/u02/app/oracle/oradata/cams/control01.ctl,/u02/app/oracle/oradata/cams/control02.ctl,/u02/app/oracle/oradata/cams/control03.ctl)4 調(diào)度作業(yè)隊(duì)列的 SNP 進(jìn)程的數(shù)量以及 SNP 進(jìn)程覺(jué)醒時(shí)間間隔秒 JOB_QUEUE_PROCESSES=2JOB_QUEUE_INTERVAL=605 存儲(chǔ)追蹤和告警文件的路徑 user_dump_dest 指定記錄 Oracle 用戶進(jìn)程產(chǎn)生的追蹤和告警信息的文件的 存放路徑 background_dump_dest 指定記錄 Oracle 后臺(tái)進(jìn)程產(chǎn)生的追蹤和 告警信息的文件的存放路徑 core_dump_dest指定Oracle運(yùn)行所產(chǎn)生的coredump 信息的文件的存放路徑. background_dump_dest = /u02/app/oracle/admin/cams/bdumpcore_dump_dest = /u02/app/oracle/admin/cams/cdumpuser_dump_dest = /u02/app/oracle/admin/cams/udump6 UTL_FILE_DIR 參數(shù) UTL_FILE_DIR = *UTL_FILE_DIR 參數(shù)指定一個(gè)或多個(gè)目錄用于 Oracle 應(yīng)用的文件 I/O 如備 份數(shù)據(jù)到文件 在 CAMS 系統(tǒng)中將該值設(shè)置為 * 表示可供 Oracle 應(yīng) 用進(jìn)行文件 I/O操作的目錄為任意目錄 因此 只要空間允許 可以將備份數(shù) 據(jù)存放到任意目錄下 1.2.4 監(jiān)聽(tīng)配置文件 為了使得外部進(jìn)程 如 CAMS后臺(tái)程序 能夠訪問(wèn) Oracle 數(shù)據(jù)庫(kù) 必須配 置 Oracle 網(wǎng)絡(luò)服務(wù)器環(huán)境 配置 Oracle 網(wǎng)絡(luò)服務(wù)器環(huán)境是通過(guò)配置 listener.ora sqlnet.ora 和 tnsnames.ora 共三個(gè)文件來(lái)進(jìn)行的 listener.ora 即監(jiān)聽(tīng)配置文件 在本小節(jié)說(shuō)明 另兩個(gè)文件分別在隨后的兩個(gè)小節(jié)說(shuō)明 $ORACLE_HOME/network/admin監(jiān)聽(tīng)配置文件 listener.ora 的存放路徑為 以下是一個(gè)示例 LISTENER = #監(jiān)聽(tīng)器名稱(chēng) (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost.localdomain) (PORT = 1521) ) ) (DESCRIPTION = (PROTOCOL_STACK = (divSENTATION = GIOP) (SESSION = RAW) ) (ADDRESS = (PROTOCOL = TCP) (HOST = localhost.localdomain) (PORT = 2481) ) ) SID_LIST_LISTENER = #命名規(guī)則 SID_LIST_+上面定義的監(jiān)聽(tīng)器名稱(chēng) (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc1) (ORACLE_HOME = /u01/app/oracle/product/8.1.7) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = cams) (ORACLE_HOME = /u01/app/oracle/product/8.1.7) (SID_NAME = cams) ) (SID_DESC = (GLOBAL_DBNAME = oid) (ORACLE_HOME = /u01/app/oracle/product/8.1.7) (SID_NAME = oid) ) ) 說(shuō)明 1 listener.ora 文件中定義一個(gè)監(jiān)聽(tīng)器 其缺省的名稱(chēng)為 LISTENER 這個(gè)監(jiān)聽(tīng)器缺省以tcp/ip為協(xié)議地址且端口號(hào)為1521運(yùn)行 在CAMS應(yīng)用中 監(jiān)聽(tīng)文件定義的監(jiān)聽(tīng)器就使用這個(gè)缺省名字 并且使用缺省的協(xié)議 tcp/ip 和缺省的端口號(hào) 1521 待配置好監(jiān)聽(tīng)文件以及隨后說(shuō)明的 sqlnet.ora 和 tnsnames.ora 文件之后 就可以用以下命令將監(jiān)聽(tīng)文件中定義的監(jiān)聽(tīng)器啟動(dòng) 起來(lái) $ lsnrctl start停止監(jiān)聽(tīng)器的命令為 $ lsnrctl stop監(jiān)測(cè)監(jiān)聽(tīng)器當(dāng)前狀態(tài)的命令為 $ lsnrctl status當(dāng) lsnrctl status 命令有如下輸出結(jié)果 STATUS of the LISTENER-Alias LISTENERVersion TNSLSNR for Linux: Version .0 - ProductionStart Date 17-JAN-2004 19:00:08Uptime 31 days 15 hr. 27 min. 59 sec就說(shuō)明監(jiān)聽(tīng)器正在運(yùn)行 否則說(shuō)明監(jiān)聽(tīng)器已經(jīng)停止了 CAMS 系統(tǒng)的后臺(tái)程 序的正常運(yùn)行不僅依賴于數(shù)據(jù)庫(kù)實(shí)例的運(yùn)行 還依賴于這個(gè)數(shù)據(jù)庫(kù)監(jiān)聽(tīng)器的 運(yùn)行 假如監(jiān)聽(tīng)器沒(méi)有啟動(dòng) 即使數(shù)據(jù)庫(kù)已經(jīng)啟動(dòng) CAMS 后臺(tái)程序仍然不 能正常工作 2 (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)所示的一個(gè) IPC 協(xié)議地址的監(jiān)聽(tīng) 是為了外部進(jìn)程調(diào)用用的 在數(shù)據(jù)庫(kù)安裝時(shí)自動(dòng)設(shè)定 不需要改動(dòng) 3 在監(jiān)聽(tīng)文件后部還有一個(gè) SID_LIST_LISTENER 段 該段用于定義監(jiān)聽(tīng) 器的服務(wù) 即為哪些數(shù)據(jù)庫(kù)實(shí)例提供監(jiān)聽(tīng)服務(wù) 以 cams 實(shí)例為例 其對(duì)應(yīng)的 服務(wù)信息為 (SID_DESC = (GLOBAL_DBNAME = cams) #數(shù)據(jù)庫(kù)名 (ORACLE_HOME = /u01/app/oracle/product/8.1.7) (SID_NAME = cams) #數(shù)據(jù)庫(kù)實(shí)例名)1.2.5 sqlnet.ora 文件 sqlnet.ora 文件的存放路徑為 $ORACLE_HOME/network/admin 以下是一個(gè)示例 NAMES.DEFAULT_DOMAIN = localdomainNAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)說(shuō)明 NAMES.DEFAULT_DOMAIN 指定網(wǎng)絡(luò)域名 NAMES.DIRECTORY_PATH 指定當(dāng)解析客戶端連接標(biāo)識(shí)符時(shí)命名方法 naming metthods 采用的優(yōu)先順 序 從左至右遞減,在 CAMS 應(yīng)用中, 這兩個(gè)參數(shù)采用上述所示的系統(tǒng)缺省值 1.2.6 tnsnames.ora 文件 tnsnames.ora 文件的存放路徑為 $ORACLE_HOME/network/admin 以下 是一個(gè)示例 OID.LOCALDOMAIN = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =1521) ) (CONNECT_DATA = (SERVICE_NAME = oid) ) )CAMS.LOCALDOMAIN = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =1521) ) (CONNECT_DATA = (SERVICE_NAME = cams) ) )INST1_HTTP.LOCALDOMAIN = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =1521) ) (CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = MODOSE) (divSENTATION = http:/admin) ) )EXTPROC_CONNECTION_DATA.LOCALDOMAIN = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC) ) (CONNECT_DATA = (SID = PLSExtProc1) (divSENTATION = RO) ) )說(shuō)明 tnsnames.ora 文件中定義一個(gè)或多個(gè)網(wǎng)絡(luò)服務(wù) net service cams 實(shí)例對(duì) 應(yīng)的網(wǎng)絡(luò)服務(wù)為 CAMS.LOCALDOMAIN = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost.localdomain) (PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = cams) ) )注意:這里 ADDRESS項(xiàng)包含三個(gè)子參數(shù) PROTOCOL :默認(rèn)協(xié)議TCPHOST :ip地址PORT:端口,默認(rèn)1521CAMS.LOCALDOMAIN為數(shù)據(jù)名要確保在監(jiān)聽(tīng)文件中也有對(duì)應(yīng)的一個(gè) ADDRESS 項(xiàng)也包含同樣的三個(gè)子參 數(shù) 并且子參數(shù)的值對(duì)應(yīng)都相等 另外 這里 SERVICE_NAME 的值必需確 保與監(jiān)聽(tīng)文件中某 SID_DESC項(xiàng)下的 SID_NAME參數(shù)的值相等 Delphi連接Oracle有很多種方式,但大多要在客戶機(jī)上安裝Oracle那龐大的客戶端,比較的不方便,使用ODAC控件連接Oracle則免去了這等麻煩.ODAC也是Oracle公司開(kāi)發(fā)的控件.有for Delphi 6- Delphi 2007的版本,最新的ODAC版本已經(jīng)到了ODAC .21版本了,不過(guò)對(duì)于我們來(lái)說(shuō),版本不一定要最新的,夠用最好,不是么?Oracle 數(shù)據(jù)訪問(wèn)組件 (ODAC), 全稱(chēng):Oracle Data Access Components, Oracle 數(shù)據(jù)存取組件(ODAC) 庫(kù)為Borland Delphi,C+ Builder 以及 Kylix提供了一些非可視化的組件,它們用來(lái)存取Oracle關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),ODAC 直接使用 Oracle 調(diào)用接口 (OCI). OCI 是一種允許應(yīng)用程序開(kāi)發(fā)人員使用第三方開(kāi)發(fā)語(yǔ)言存取Oracle數(shù)據(jù)服務(wù)器的過(guò)程或函數(shù)以及控制所有的SQL語(yǔ)句執(zhí)行狀態(tài)的應(yīng)用程序接口(API)。OCI 通過(guò)一個(gè)動(dòng)態(tài)運(yùn)行庫(kù)(ORA*.DLL)提供了一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)存取庫(kù)及函數(shù),以在應(yīng)用程序中建立連接。也可以使用ODAC的Net選項(xiàng)而無(wú)需在客戶機(jī)上安裝Oracle客戶端來(lái)連接到Oracle.在這種情況下,ODAC僅需要TCP/IP協(xié)議的支持,從而可以創(chuàng)建真正的、最小的數(shù)據(jù)庫(kù)應(yīng)用程序。下面是安裝步驟(通過(guò)修改對(duì)應(yīng)版本下的make.bat文件編譯也可以達(dá)到如下效果):安裝環(huán)境:ODAC 6.10,Delphi 2006以下是引用片段:編譯及安裝:在Project Manager對(duì)應(yīng)的bpl上單擊右鍵先Compile再I(mǎi)nstall1、打開(kāi)并編譯安裝SourceDelphi10dac100.dpk2、打開(kāi)并編譯安裝SourceDelphi10dacvcl100.dpk3、打開(kāi)并編譯安裝SourceDelphi10dcldac100.dpk4、打開(kāi)并編譯安裝SourceDelphi10odac100.dpk5、打開(kāi)并編譯安裝SourceDelphi10odacvcl100.dpk6、打開(kāi)并編譯安裝SourceDelphi10dclodac100.dpk7、打開(kāi)并編譯安裝SourceDelphi10oraprov100.dpk8、將C:Program FilesBorlandBDS4.0ODACSource和C:Program FilesBorlandBDS4.0ODACSourceDelphi10添加到Search Pa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)PH電極儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)LED白光照明用驅(qū)動(dòng)IC數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)DV手持減震器數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025年中國(guó)AL2O3制品數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 2025至2030年中國(guó)除塵整流變壓器市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)鐵皮楓斗茶市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)輕型臥式帶鋸床市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)航空空氣清新劑市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)線切割專(zhuān)用高級(jí)乳化油市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)真空單向閥市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 分子生物學(xué)期末考試題目及答案
- 鄉(xiāng)烤煙生產(chǎn)工作總結(jié)及工作打算
- 市政(道路)工程分部分項(xiàng)劃分表
- 一次風(fēng)壓力控制系統(tǒng)
- 小組工作教案
- GB/T 21671-2018基于以太網(wǎng)技術(shù)的局域網(wǎng)(LAN)系統(tǒng)驗(yàn)收測(cè)試方法
- GB/T 11177-1989無(wú)機(jī)膠粘劑套接壓縮剪切強(qiáng)度試驗(yàn)方法
- 鈷領(lǐng)域:華友鈷業(yè)企業(yè)組織結(jié)構(gòu)及部門(mén)職責(zé)
- 內(nèi)容參考zipc教程
- 基金投資管理系統(tǒng)O32用戶手冊(cè)-股指期貨套保系統(tǒng)
- 機(jī)械原理課程設(shè)計(jì)-自動(dòng)打印機(jī)設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論