VB6.0可通過Adodc數(shù)據(jù)訪問控件的屬性頁進(jìn)行連接Oracle數(shù)據(jù)庫。
創(chuàng)新互聯(lián)建站長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為許昌企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),許昌網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
1)建立數(shù)據(jù)工程,在窗體添加Adodc數(shù)據(jù)訪問控件。鼠標(biāo)選中Adodc控件-右鍵-Adodc屬性-使用連接字符串-生成。
2)選Microsoft OLE DB Provider For Oracle,下一步。
3)根據(jù)數(shù)據(jù)鏈接屬性對話框填寫所需內(nèi)容,測試連接。點(diǎn)確定,最終在Adodc屬性頁獲得連接字符串,復(fù)制該字符串,即可作為Adodc數(shù)據(jù)訪問控件直接使用,或在代碼中用于Adodc控件或ADO數(shù)據(jù)訪問對象。
Delphi作為強(qiáng)大的數(shù)據(jù)庫前端開發(fā)工具,提供了很多數(shù)據(jù)庫存取方式的封裝控件。對于Oracle的數(shù)據(jù)存取控件,不管何種數(shù)據(jù)庫引擎,一般都會封裝一個Connection作為數(shù)據(jù)集的連接控件,因此只要設(shè)定Connection的相關(guān)屬性即可,其它dataset控件,如query,table等只要指定此Connection即可,客戶端應(yīng)用程序要連接到Oracle的Schema,一般都需要安裝Oracle Client,并使用Net Manager設(shè)置客戶端可以訪問的Oracle Database Server的主機(jī)名稱及存取協(xié)議、Port等信息??梢允褂靡韵碌姆绞竭B接
dbExpress:dbExpress比較適合連接SQL的數(shù)據(jù)庫,據(jù)說效率挺高的。放置一個dbExpress頁簽下的SQLConnection,在此控件上點(diǎn)擊鼠標(biāo)右鍵,選擇“Edit Connection Properities”功能,并依下圖設(shè)置即可。其中Database欄位要設(shè)置為Oracle Client中設(shè)置的服務(wù)名,如果需要記住密碼,而不用每次連接的時候輸入密碼,請將 LoginPrompt屬性設(shè)置為False,設(shè)置OK后即可測試將Connected:=True看看是否成功,其它數(shù)據(jù)處理控件請選擇相應(yīng)dbExpress頁簽下的控件即可。
BDE:BDE應(yīng)該來說是Borland自己的數(shù)據(jù)庫引擎了,效率也是相當(dāng)不錯的。當(dāng)然也是支持Oracle連接的。使用BDE頁簽下的database控件,設(shè)置方法參考下圖所示:
ADO:ADO是Microsoft所支持的數(shù)據(jù)庫連接技術(shù),大有一統(tǒng)windows客戶端數(shù)據(jù)存取引擎的意思,在.net平臺,推出了ADO.NET,更好地支持了XML。DELPHI有對ADO做了一些封裝,使用ADOConnection,通過向?qū)гO(shè)置它的ConnectionString即可,可以參考下圖所示:
ODBC:ODBC是最傳統(tǒng)的鏈接方法了,效率相對來說稍微低一些,不過通用性也更強(qiáng),不建議使用這種方法。使用前需要先到ODBC設(shè)置中增加一個數(shù)據(jù)源名稱DSN,然后再透過ADO或者BDE組件來實(shí)現(xiàn)數(shù)據(jù)的存取??梢詤⒖既缦聢D片設(shè)置:
不使用控件,比如使用原生的ADO組件,不太建議這種方法,既然Delphi已經(jīng)做了封裝,何必又要回到原始狀態(tài)呢。以上連接方法都需要安裝Oracle Client軟件,但是Oracle官方的Client太過龐大,安裝非常不便,目前網(wǎng)上有人發(fā)布一個精簡版的Oracle Client軟件,比較小,可以滿足連接Oracle的需要,可以去下載這個軟件,而不用去安裝復(fù)雜的官方版本。
下載ODAC控件,此控件不需要安裝Oracle Client,而是使用OCI的方式透過TCP/IP協(xié)議直接連接到Oracle Server,可以將程序做成瘦客戶端,程序分發(fā)的時候比較方便。此控件支持Delphi的大部分版本以及C++Builder以及kylix以及.net,而且提供源代碼,有興趣的可以研究一下。具體安裝使用方法請參考控件的相關(guān)說明以及幫助文檔。
VBA連接oracle數(shù)據(jù)庫
小 'システム共通変數(shù)
Public ORA_SE As Object 'Oracleのセッションオブジェクト
Public ORA_DB As Object 'Oracleの接続オブジェクト
'******************************************************************************
' ????????名 : Ora_Connect
' 概要 : Oracle接続
' ?????? : なし
' 說明 :Oracleへの接続を行う
'******************************************************************************
'Public Sub Ora_Connect()
Public Function Ora_Connect()
Dim rt As Integer
On Error GoTo err
Set ORA_SE = CreateObject("OracleInProcServer.XOraSession")
'Set ORA_DB = ORA_SE.OpenDatabase("數(shù)據(jù)庫連接詞", "用戶名/密碼", 0)
Set ORA_DB = ORA_SE.OpenDatabase("combcm", "combcm/combcm", 0)
Exit Function
err:
End Function
'******************************************************************************
' ????????名 : Ora_DisConnect
' 概要 : Oracle切斷
' ?????? : なし
' 說明 : Oracleの切斷を行う
'******************************************************************************
'Public Sub Ora_DisConnect()
Public Function Ora_DisConnect()
Set ORA_SE = Nothing
Set ORA_DB = Nothing
End Function
Public Function getData()
'該當(dāng)なし
If OraDynaset.EOF = True Then
Set OraDynaset = Nothing
Exit Function
Else
'2004/03/06 add rec_cntを2して2行目から書き出す
'rec_cnt = 2
'Do While Not OraDynaset.EOF
'For row_cnt = 0 To OraDynaset.Fields.Count - 1
' Cells(rec_cnt, row_cnt + 1).Value = OraDynaset(row_cnt).Value
'Next row_cnt
'2004/11/26 クリップボードを介した方法でスピードアップ対応。
'從數(shù)據(jù)庫中取出數(shù)據(jù)
OraDynaset.CopyToClipboard
Cells(2, 1).Select
ActiveSheet.Paste
rec_cnt = OraDynaset.RecordCount
'OraDynaset.DbMoveNext
'rec_cnt = rec_cnt + 1
'Loop
End If
end function
Delphi連接Oracle數(shù)據(jù)庫的三種方式 Oracle是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一,目前被廣泛應(yīng)用于各類型企業(yè)的信息化管理中。數(shù)據(jù)庫支持是Delphi7.0開發(fā)環(huán)境的一個重要特性,很多程序員在數(shù)據(jù)庫應(yīng)用程序開發(fā)中都采用Delphi7.0作為開發(fā)工具,來實(shí)現(xiàn)對數(shù)據(jù)庫的訪問和控制。Delphi數(shù)據(jù)庫應(yīng)用程序是通過數(shù)據(jù)庫引擎來訪問它們引用的數(shù)據(jù)源的。本文概括性的介紹在Windows XP環(huán)境中Delphi7.0連接Oracle數(shù)據(jù)庫的3種方式,它們分別是BDE、ADO、DbExpress。
這3種方式都需要安裝Oracle客戶端并配置tnsnames.ora文件。將Oracle客戶端安裝到本地計(jì)算機(jī),打開c:\oracle\…\network\admin\tnsnames.ora文件,按照所要訪問的數(shù)據(jù)庫的配置,添加下面的內(nèi)容
TEST =(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.134)(PORT = 1521)) )
(CONNECT_DATA =(SID = test) )
)
其中HOST,PORT,SID的值與所訪問的數(shù)據(jù)庫配置有關(guān)。
1傳統(tǒng)的BDE
BDE(Borland Database Engine)使用別名引用數(shù)據(jù)庫文件或目錄,需要在客戶的計(jì)算機(jī)上與應(yīng)用程序一起安裝BDE。連接步驟:
1.1 安裝BDE。在Delphi7.0的安裝盤中含有BDE安裝程序,按照默認(rèn)方式安裝的計(jì)算機(jī),并配置好所要訪問的Oracle數(shù)據(jù)庫的別名,例如:test。
1.2 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫。將BDE選項(xiàng)卡中的TDatabase組件將放入應(yīng)用程序的主窗體,雙擊TDatabase,出現(xiàn)TDatabase組件編輯器,輸入數(shù)據(jù)庫別名、用戶名和密碼,點(diǎn)擊OK按鈕。在對象檢視器中將TDatabase組件的LoginPrompt屬性值設(shè)為False(避免出現(xiàn)登陸對話框,下同),將TDatabase組件的Connected屬性值設(shè)為True,這樣就成功的連接到Oracle服務(wù)器了。
1.3 使用TTable組件訪問數(shù)據(jù)。將TTable組件放置到應(yīng)用程序的主窗體,設(shè)置其DatabaseName屬性值為test,再放入TdataSource和TDBGrid組件,接下來的工作就與開發(fā)本地?cái)?shù)據(jù)庫應(yīng)用程序相同了。
2 Microsoft的ADO
ADO(ActiveX Data Objects)是Microsoft的高級接口,基于Microsoft的數(shù)據(jù)訪問OLEDB技術(shù)而實(shí)現(xiàn)。連接步驟:
2.1 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫。將ADO選項(xiàng)卡中的TADOConnection組件放入應(yīng)用程序的主窗體,雙擊TADOConnection,在出現(xiàn)的對話框中點(diǎn)選Use Connection String,在其下面的框中輸入:Provider=MSDAORA.1;User ID=test;Data Source=test;Persist Security Info=False,其中test為Oracle服務(wù)器名和用戶名。在對象檢視器中將TADOConnection組件的LoginPrompt屬性值設(shè)為False,將TADOConnection組件的Connected屬性值設(shè)為True,這樣就成功的連接到Oracle服務(wù)器了。
2.2 使用TADOCommand組件訪問數(shù)據(jù)。將TADOCommand組件放置到應(yīng)用程序的主窗體,設(shè)置其Connec tion屬性值為Connection1,點(diǎn)擊其CommandText屬性值,在出現(xiàn)的對話框中輸入SQL查詢語句(本文以查詢數(shù)據(jù)為例),再放入TdataSource和TDBGrid組件,接下來的工作就與開發(fā)本地型數(shù)據(jù)庫應(yīng)用程序相同了。
3 新一代夸平臺的數(shù)據(jù)庫訪問引擎DbExpress
DbExpress是一組新的組件,技術(shù)和驅(qū)動程序,具備了夸平臺的能力,讓程序員能夠開發(fā)出更有效率的數(shù)據(jù)庫應(yīng)用程序,因此會成為以后Delphi和Kylix的核心數(shù)據(jù)訪問技術(shù)。連接步驟:
3.1 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫。將 dbExpress選項(xiàng)卡中的TSQLConnection組件放入應(yīng)用程序的主窗體,雙擊TQLConnection,出現(xiàn)TSQLConnection組件編輯器,選擇Oracle作為Driver Name,輸入數(shù)據(jù)庫名稱、用戶名和密碼,點(diǎn)擊OK按鈕。在對象檢視器中將TSQLConnection組件的LoginPrompt屬性值設(shè)為False,將TSQLConnection組件的Connected屬性值設(shè)為True,這樣就成功的連接到Oracle服務(wù)器了。
3.2 使用TSQLDataSet組件訪問數(shù)據(jù)。將TSQLDataSet組件放置到應(yīng)用程序的主窗體,設(shè)置其SQLConne ction屬性值為SQLConnection1,點(diǎn)擊其CommandText屬性值,在出現(xiàn)的對話框中輸入SQL查詢語句(本文以查詢數(shù)據(jù)為例),再放入TdataSource和TDBGrid組件,接下來的工作就與開發(fā)本地?cái)?shù)據(jù)庫應(yīng)用程序相同了。
oracle date等類型是帶時間部分的,所以你這個2011-07-05 只是相當(dāng)于2011-07-05 00:00:00這個時刻,按你的寫法大于這個時刻的是不會刪除的。如果你確實(shí)要刪除2011-07-05的建議你用以下寫法:
delete from jf_syslog where inputtime =date'2011-07-01' and nputtimedate'2011-07-06'
如果不擔(dān)心2011-07-06 00:00:00的也可以
delete from jf_syslog where inputtime between date'2011-07-01' and date'2011-07-06'
如果效率可以接受,可以先轉(zhuǎn)換成字符串
delete from jf_syslog where to_char(inputtime,'yyyymmdd') between '20110701' and '20110705'
你可以考慮連接上一個固定的字符串這樣的,但是因?yàn)闀r間上是沒有24:00:00的,所以還是會有問題的,不如直接在日期上加一天用
網(wǎng)頁標(biāo)題:oracle控件怎么用,oracle使用
當(dāng)前地址:http://jinyejixie.com/article48/hsojhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)、電子商務(wù)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)