系統(tǒng)環(huán)境 :
1、操作系統(tǒng):Windows 2000 Server
2、數(shù)據(jù)庫(kù): Oracle 8i R2 (8.1.6) for NT 企業(yè)版
3、開(kāi)發(fā)工具:Visual Basic 6.0 中文版
連接方法 :
一、安裝 Oracle 8i R2 (8.1.6) for NT 企業(yè)版
使用典型安裝,安裝目錄為D:\Oracle;
注:安裝完Oracle后,在D:\Oracle\Ora81\BIN\目錄下會(huì)有oradc.ocx文件存在,VB可使用此控件訪問(wèn)Oracle數(shù)據(jù)庫(kù)
二、安裝 Visual Basic 6.0 中文版
把Visual Basic 6.0光盤(pán)放入光驅(qū),使用典型安裝,
安裝目錄為D:\Program Files\Microsoft Visual Studio\VB98;
三、生成Oracle實(shí)驗(yàn)記錄
連入SQL*Plus,以system/manager用戶登錄
SQL> conn system/manager
創(chuàng)建新的用戶:如user1/pass1,賦予connect,resource權(quán)限。
SQL> grant connect,resource to user1 identified by pass1;
SQL> conn user1/pass1
SQL> create table test(a number,b char(19));
SQL> insert into test values(1,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
SQL> insert into test values(2,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
SQL> insert into test values(3,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
SQL> insert into test values(4,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
SQL> insert into test values(5,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
SQL> commit;
SQL> select * from test;
A B
---------- -------------------
1 2000-11-28 20:27:33
2 2000-11-28 20:27:36
3 2000-11-28 20:27:38
4 2000-11-28 20:27:40
5 2000-11-28 20:27:52
D:\Oracle\Ora81\network\ADMIN\tnsnames.ora中有如下內(nèi)容:
ORADB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)
總結(jié):
Oracle service_names: oradb
Oracle用戶名: user1
戶名密碼: pass1
測(cè)試表名: test
tnsnames: oradb
四、啟動(dòng) Visual Basic 6.0,寫(xiě)連接Oracle的VB程序
開(kāi)始->程序->Microsoft Visual Basic 6.0 中文版->Microsoft Visual Basic 6.0 中文版
文件->新建工程->VB 企業(yè)版控件,如下圖:
添加訪問(wèn)Oracle的部件(CTRL+T):
工程->部件->Oracle Data Control,如下圖:
選中此控件(Oracle Data Control),單擊“確定”(此控件對(duì)應(yīng)的就是D:\Oracle\Ora81\BIN\oradc.ocx)
VB開(kāi)發(fā)窗口右邊的工具箱面板上會(huì)出現(xiàn)此控件的圖形標(biāo)志,如下圖:
用鼠標(biāo)雙擊此控件(ORADC),再雙擊MSFlexGrid控件(上圖中另一個(gè)畫(huà)紅框的),把它們放到窗體Form1上,默認(rèn)名稱為ORADC1和MSFlexGrid1,如下圖:
修改控件ORADC1和MSFlexGrid1的屬性,如下圖:
ORADC1的Connect屬性:user1/pass1
ORADC1的DatabaseName屬性:oradb
ORADC1的RecordSource屬性:select * from test
MSFlexGrid1的DataSource屬性:ORADC1
也可以不設(shè)置ORADC1控件的任何屬性,而使用窗體的Form_Load()過(guò)程來(lái)給ORADC1控件賦值
Private Sub Form_Load()
ORADC1.Connect = "user1/pass1"
ORADC1.DatabaseName = "oradb"
ORADC1.RecordSource = "select * from test"
ORADC1.Refresh
End Sub
按F5,運(yùn)行此程序,結(jié)果如下圖: