安装完Oracle后,在D:\\Oracle\\Ora81\\BIN\\目录下会有oradc.ocx文件存在,VB可使用此控件访问Oracle数据库 系统环境: 1、操作系统:Windows 2000 Server 2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版 3、开发工具:Visual Basic 6.0 中文版 连接方法: 一、安装 Oracle 8i R2 (8.1.6) for NT 企业版 使用典型安装,安装目录为D:\\Oracle; 注:安装完Oracle后,在D:\\Oracle\\Ora81\\BIN\\目录下会有oradc.ocx文件存在,VB可使用此控件访问Oracle数据库 二、安装 Visual Basic 6.0 中文版 把Visual Basic 6.0光盘放入光驱,使用典型安装, 安装目录为D:\\Program Files\\Microsoft Visual Studio\\VB98; 三、生成Oracle实验记录 连入SQL*Plus,以system/manager用户登录 SQL> conn system/manager 创建新的用户:如user1/pass1,赋予connect,resource权限。 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中有如下内容: ORADB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))) (CONNECT_DATA =(SERVICE_NAME = oradb)) 总结: Oracle service_names: oradb Oracle用户名: user1户名密码: pass1测试表名: test tnsnames: oradb 四、启动 Visual Basic 6.0,写连接Oracle的VB程序 开始->程序->Microsoft Visual Basic 6.0 中文版->Microsoft Visual Basic 6.0 中文版 文件->新建工程->VB 企业版控件,如下图: 添加访问Oracle的部件(CTRL+T): 工程->部件->Oracle Data Control,如下图: 选中此控件(Oracle Data Control),单击“确定”(此控件对应的就是D:\\Oracle\\Ora81\\BIN\\oradc.ocx) VB开发窗口右边的工具箱面板上会出现此控件的图形标志,如下图: 用鼠标双击此控件(ORADC),再双击MSFlexGrid控件(上图中另一个画红框的),把它们放到窗体Form1上,默认名称为ORADC1和MSFlexGrid1,如下图: 修改控件ORADC1和MSFlexGrid1的属性,如下图: ORADC1的Connect属性:user1/pass1 ORADC1的DatabaseName属性:oradb ORADC1的RecordSource属性:select * from test MSFlexGrid1的DataSource属性:ORADC1 也可以不设置ORADC1控件的任何属性,而使用窗体的Form_Load()过程来给ORADC1控件赋值 Private Sub Form_Load() ORADC1.Connect = "user1/pass1" ORADC1.DatabaseName = "oradb" ORADC1.RecordSource = "select * from test" ORADC1.Refresh End Sub 按F5,运行此程序,结果如下图: ![]()





