通过Delphi访问Oracle数据库

原创 2001年09月04日 09:13:00

通过Delphi访问Oracle数据库

徐长友

摘要:Delphi在数据库程序设计这一领域有着极其重要的作用。这当然不是因为它的友好开发界面,而是它的强大数据库引擎(Borland Database Engine,简称为BDE) 。本文将通过具体的实例详细介绍如何通过Delphi访问Oracle数据库,及进行数据库的程序设计。

主要内容包括:

  • 配置BDE
  • 认识Oracle ODBC数据源
  • 添加Oracle ODBC数据源
  • 维护Oracle ODBC数据源
  • Delphi开发管理Oracle数据库的实例

一.开始前的准备

  1. 安装 Oracle 8i (8.0.5) 使用典型安装,安装目录如 F:/Oracle;
  2. 安装 Delphi 6 企业版,把Delphi 6光盘放入光驱,使用典型安装,安装目录为F:/Program Files/Borland/Delphi6;
  3. 开始->程序->Oracle for Windows NT->Oracle Net8 Easy Config配置Service Name,如新增一个名为YOUSOFT的Service,具本请参考Oracle书籍。
  4. 建立Oracle数据表,Oracle用户:
    打开SQL*Plus,以system/manager用户登录
     

    创建新的用户:如yousoft/yousoft,赋予resource,connect权限。建个student表
    SQL> grant connect,resource to yousoft identified by yousoft;

    SQL> conn yousoft/yousoft
    已连接。
    SQL> create table student(ID number,name char(20),Englist number(5,2),physics number(5,2));

    表已创建。

    SQL> insert into student values(1,'徐长友',80,38);

    已创建 1 行。

    SQL> insert into student values(2,'李四',40,58);

    已创建 1 行。

    SQL> insert into student values(3,'张三',89,98);

    已创建 1 行。

    SQL> insert into student values(4,'王五',68,78);

    已创建 1 行。

    SQL> insert into student values(5,'小孙',88,98);

    已创建 1 行。

    SQL> insert into student values(6,'老马',59,89);

    已创建 1 行。

    SQL> commit;

    提交完成。

    SQL> select * from student;

    ID NAME ENGLIST PHYSICS
    --------- -------------------- --------- ---------
    1 徐长友 80 38
    2 李四 40 58
    3 张三 89 98
    4 王五 68 78
    5 小孙 88 98
    6 老马 59 89

    已选择6行。

二.Delphi使用BDE访问Oracle数据库

  1. 配置BDE
    开始->程序->Borland Delphi 6->BDE Administrator
     
  2. 配置Drivers,修改上图画红圈的地方,分别是

        DLL32:      SQLORA8.DLL
        VENDOR INIT:   OCI.DLL
        SQLPASSTHRU MODE: SHARED NOAUTOCOMMIT
    修改完,点击工具栏上的apply或按CTRL+A,完成配置后关闭BDE Administrator,接下配置Database Aliases(数据库访问别名),重新打开BDE Administrator新建一个别名,如设为useoracle,接下图:


    SERVER NAME下拉选择YOUSOFT.WORLD,点击工具栏上的apply或按CTRL+A,然后双击useoracle,进入连接
     
    输入用户名、口令(如:上面建的yousoft,口令),按“OK”连接。出现下面表明连接成功!
     

三.添加与维护Oracle ODBC 数据源

  ODBC中文即开放式数据库链接(Open DataBase Connectivity),实际上是一种数据引擎。通过它所提供的函数,可以访问数据库中的数据。它的优点在于能处理多种类型的数据,如:dBase,FoxPro,Paradox及Oracle等。不同的数据库都有自己的ODBC驱动程序。我们从控制面版中打开ODBC数据源管理器
 

切换到Drives(驱动程序)选项卡,即可看到已安装的所以ODBC驱动程序,如上图所示。

1.添加ODBC数据源

切换到System DSN选项卡,在此添加一下Oracle数据源,如下图所示

单击Add按钮,出现如下图所示的Create New Data Source对话框。

在列表中选择Microsoft ODBC for Oracle选项,单击完成,为标识数据源,在Data Source Name文本框中输入useoralce2,User Name和Server中分别输入yousoft和yousoft.world,单击OK就可在System DSN选项卡中看到添加的数据源名称。

2.维护Oracle ODBC数据源

一旦建立好ODBC数据源后,还可以通过ODBC数据源管理器方便地对其进行修改,删除。只需选中数据源名称,单击Configure按钮即可修改该项数据源所有的设置。如查要删除选定的数据源,则只需单击Remove按钮。

四.利用Delphi开发管理Oracle数据库的实例

开始->程序->Borland Delphi 6->Delphi 6启动Delphi

然后 File->New->Application新建一应用程序

加入一个DataBase控件,一个Table控件,一个DataSource控件和一个DBGrid控件

各控件属性设置如下:

Name:Oracle_DataBase

AliasName选择useoracle

DatabaseName设置为oradb

LoginPromp设置为False

Params中输入:

USER NAME :yousoft PASSWORD:yousoft

Connected设置True

一切没问题的话就能正常连接到数据库

Name:Table1

DatabaseName:选择oradb

TableName选择STUDENT

Active设置为Active

C_523_481_1.gif DataSet:设置为Table1
将DataSource设置为DataSource1即可

按F9,运行此程序,程序运行如下图:

以上是使用数据库访问别名打开Oracle数据库,再试一下用ODBC打开如何。

很简单,只要修改database控件的AliasName选择我们前面建的Oracle ODBC数据源useoracle2,其它控件属性同上不变。

按F9,运行此程序,程序运行如下图:

对比上面,有什么不同?两个是一样的。

总结:通过上面的学习,你已学到通过Delphi访问和管理Oracle数据库了,但是,这只能算是管中窥豹而已,更多还等待着你去学习。如果上面还有什么不明白的地方请与我联系(我的邮箱:yousoft@chinaren.com 主页:http://yousoft.home.chinaren.com )利用Delphi和Oracle,完全可以创建出功能强大的工程软件。感兴趣的朋友可以参考Delphi数据库编程及Oracle方面的书!

通过Delphi访问Oracle数据库

  • zgqtxwd
  • zgqtxwd
  • 2008年04月30日 23:50
  • 166

访问远程oracle数据库方法汇总

写之前,先搞清楚我们的目的。大前提是oracle数据库没在本机上;下面以目的分为两类: 1.使PL/SQL Developer能连接上数据库。 方法一:安装oracle client(客户端,安装...
  • kingzone_2008
  • kingzone_2008
  • 2012年11月13日 19:39
  • 8690

Delphi中用ADO控件连接数据库例子

概述: 一、说明 最近在写个“数据库管理系统框架程序”,其中封装了几个连接数据库的函数,觉得挺好用,拿出来与大家分享下,希望能对大家有点用处。 我以连接oracle和access为例,其余数据...
  • wozengcong
  • wozengcong
  • 2013年09月11日 16:55
  • 1987

64位程序,利用ADO连接Oracle数据库

刚好手头项目解决了ADO连接Oracle数据库的问题,z
  • sisyphus_zhou
  • sisyphus_zhou
  • 2014年09月29日 16:14
  • 6759

Delphi中连接Oracle数据库常用方法

       Delphi作为强大的数据库前端开发工具,提供了很多数据库存取方式的封装控件。对于Oracle的数据存取控件,不管何种数据库引擎,一般都会封装一个Connection作为数据集的连接控件...
  • bason
  • bason
  • 2007年12月03日 13:12
  • 23199

delphi xe连接oracle心得(备忘)纯原创,一个字一个字打的

前几天朋友要求我给他的程序增加一个功能,数据库是oracle 11g的,因为以前没用过oracle,所以配置开发环境费了很大的劲,现在记录下来,怕以后忘记 1、服务器安装了windows serve...
  • jfdnnew
  • jfdnnew
  • 2016年10月23日 19:36
  • 1482

C++通过ODBC连接Oracle数据库

ODBC的基本介绍 ODBC是为数据库应用程序访问关系型数据库时提供的一个统一的接口,对于不同的数据库ODBC提供了一套统一的API,使应用程序可以访问任何一种提供了ODBC驱动程序的数据库。但是O...
  • ilikehigame
  • ilikehigame
  • 2014年09月09日 15:54
  • 2292

通过.NET访问 Oracle数据库

长期以来,我一直用的是 MS SQL Server / Access 数据库,通过.NET 访问MS自家的东西几乎没碰到过什么麻烦。最近项目中要用 Oracle 作为数据库,学习研究了一些 .NET ...
  • mchaojie1
  • mchaojie1
  • 2008年10月28日 08:20
  • 174

通过.NET访问Oracle数据库

长期以来,我一直用的是 MS SQL Server / Access 数据库,通过.NET 访问MS自家的东西几乎没碰到过什么麻烦。最近项目中要用 Oracle 作为数据库,学习研究了一些 .NET ...
  • CS_D_N
  • CS_D_N
  • 2006年09月23日 01:08
  • 772

delphi 7连接oracle数据库问题

ADOQuery1: Parameter 'a_id' not found问题 遇到此报错,首先要查找是否字段拼写问题或者绑定变量时确实“:”,排除这个之后再尝试以下方法。 1.Delphi ...
  • ly379616775
  • ly379616775
  • 2017年05月15日 10:12
  • 385
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过Delphi访问Oracle数据库
举报原因:
原因补充:

(最多只允许输入30个字)