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

       Delphi作为强大的数据库前端开发工具,提供了很多数据库存取方式的封装控件。对于Oracle的数据存取控件,不管何种数据库引擎,一般都会封装一个Connection作为数据集的连接控件,因此只要设定Connection的相关属性即可,其它dataset控件,如query,table等只要指定此Connection即可,客户端应用程序要连接到Oracle的Schema,一般都需要安装Oracle Client,并使用Net Manager设置客户端可以访问的Oracle Database Server的主机名称及存取协议、Port等信息。可以使用以下的方式连接
1.         dbExpress:dbExpress比较适合连接SQL的数据库,据说效率挺高的。放置一个dbExpress页签下的SQLConnection,在此控件上点击鼠标右键,选择“Edit Connection Properities”功能,并依下图设置即可。 连接设置图片其中Database栏位要设置为Oracle Client中设置的服务名,如果需要记住密码,而不用每次连接的时候输入密码,请将 LoginPrompt属性设置为False,设置OK后即可测试将Connected:=True看看是否成功,其它数据处理控件请选择相应dbExpress页签下的控件即可。
2.         BDE:BDE应该来说是Borland自己的数据库引擎了,效率也是相当不错的。当然也是支持Oracle连接的。使用BDE页签下的database控件,设置方法参考下图所示: BDE连接图片
3.         ADO:ADO是Microsoft所支持的数据库连接技术,大有一统windows客户端数据存取引擎的意思,在.net平台,推出了ADO.NET,更好地支持了XML。DELPHI有对ADO做了一些封装,使用ADOConnection,通过向导设置它的ConnectionString即可,可以参考下图所示: ADO连接图片一 ADO连接图片一
4.         ODBC:ODBC是最传统的链接方法了,效率相对来说稍微低一些,不过通用性也更强,不建议使用这种方法。使用前需要先到ODBC设置中增加一个数据源名称DSN,然后再透过ADO或者BDE组件来实现数据的存取。可以参考如下图片设置:

ODBC连接图片

5.         不使用控件,比如使用原生的ADO组件,不太建议这种方法,既然Delphi已经做了封装,何必又要回到原始状态呢。以上连接方法都需要安装Oracle Client软件,但是Oracle官方的Client太过庞大,安装非常不便,目前网上有人发布一个精简版的Oracle Client软件,比较小,可以满足连接Oracle的需要,可以去下载这个软件,而不用去安装复杂的官方版本。
6.    下载ODAC控件,此控件不需要安装Oracle Client,而是使用OCI的方式透过TCP/IP协议直接连接到Oracle Server,可以将程序做成瘦客户端,程序分发的时候比较方便。此控件支持Delphi的大部分版本以及C++Builder以及kylix以及.net,而且提供源代码,有兴趣的可以研究一下。具体安装使用方法请参考控件的相关说明以及帮助文档。
 
 
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
第1章 Delphi 7新特性 1.1 安装 1.2 新特性 1.3 IDE的改进 第2章 Delphi 7组件简介 2.1 VCL 2.2 Delphi 7组件 2.3 可视组件的通用属性和事件 第3章 常用组件 3.1 文本相关组件 3.2 按钮和复选框 3.3 分组组件 3.4 菜单组件 3.5 图形组件 3.6 文件选择组件 3.7 网格组件 第4章 Data Access组件页 4.1 TDataSource组件 4.2 TClientDataSet组件 4.3 TDataSetProvider组件 4.4 TXMLTransform组件 4.5 TXMLTransformProvider组件 4.6 TXMLTransformClient组件 4.7 XMLMapper实用程序 第5章 Data Controls组件页 5.1 共同属性 5.2 TDBGrid组件 5.3 TDBNavigator组件 5.4 TDBText组件 5.5 TDBEdit组件 5.6 TDBMemo组件 5.7 TDBImage组件 5.8 TDDBListBox组件 5.9 TDBComboBox组件 5.10 TDBCheckBox组件 5.11 TDBRadioGroup组件 5.12 TdBLookkupListBox组件 5.13 TDBLookkupComboBox组件 5.14 TDBRichEdit组件 5.15 TDBCtrlGrid组件 5.16 TDBChart组件 第6章 dbExpress组件页 6.1 TSQLConnection组件 6.2 TSQLDataSet组件 6.3 TSQLQuery组件 6.4 TSQLTable组件 6.5 TSQLStoredProc组件 6.6 TSQLMonitor组件 6.7 TSimpleDataSet组件 6.8 实例——使用dbExpress方式连接Oracle数据库 6.9 实例——建立双平台运行的应用程序 第7章 BDE组件页 7.1 TTable组件 7.2 TQuery组件 7.3 TDataBase组件 7.4 TBatchMove组件 7.5 TUpdateSQL组件 7.6 综合应用实例 第8章 ADO组件页 8.1 TADOConnection组件 8.2 TADOCommand组件 8.3 TADODataSet组件 8.4 TADOTable组件 8.5 TADOQuery组件 8.6 TADOStoredProc组件 8.7 TRDSConnection组件 8.8 实例——应用TADOConnection和TADODataSet组件 8.9 实例——应用TADOConnection和TADOTable组件 8.10 实例——应用TADOConnection和TADOQuery组件 8.11 实例——应用TADOConnection、TADODataSet和TADOCommand组件 第9章 Decision Cube组件页 9.1 TDecisionCube组件 9.2 TDecisionQuery组件 9.3 TDecisionSource组件 9.4 TDecisionPivot组件 9.5 TDecisionGrid组件 9.6 TDecisionGraph组件 9.7 实例——应用Decision Cube组件页 第10章 Dialogs组件页 10.1 TOpenDialog组件 10.2 TSaveDialog组件 10.3 TOpenPicTureDialog组件 10.4 TSavePicTureDialog组件 10.5 TFontDialog组件 10.6 TColorDialog组件 10.7 TFindDialog组件 10.8 TReplaceDialog组件 10.9 TPrintDialog组件 10.10 TPrinterSetupDialog组件 10.11 TPageSetupDialog组件 第11章 Rave组件页 11.1 TRvProject组件 11.2 TRvSystem组件 11.3 TRvNDRWriter组件 11.4 TRvCustomConnection组件 11.5 TRvDataSetConnection组件 11.6 TRvTableConnection组件 11.7 TRvQueryConnection组件 11.8 TRvRenderPrinter组件 11.9 TRvRenderPreview组件 11.10 TRvRenderPDF组件 11.11 TRvRenderHTML组件 11.12 TRvRenderRTF组件 11.13 TRvRenderText组件 11.14 实例——建立Rave报表 11.15 实例——获取报表列表和预览报表 第12章 InterBase组件页 12.1 InterBase组件页 12.2 InterBase Admin组件页 12.3 InterBase组件页应用实例 第13章 Server组件页 13.1 Word和Excel程序对象 13.2 ToleServer组件 13.3 实例——在Delphi操作Word 13.4 实例——使用TWordDocument组件连接Word自动化服务器 13.5 实例——建立与Excel连接 13.6 实例——以OLE方式建立与Excel连接 第14章 Internet组件页 14.1 Web服务器应用程序的结构 14.2 TWebDispatcher组件 14.3 TPageProducer组件 14.4 TDataSetPageProducer组件 14.5 TQueryTableProducer组件 14.6 TDataSetTableProducer组件 14.7 TSQLQueryTableProducer组件 14.8 TTcpClient组件 14.9 TTcpServer组件 14.10 TUdpSocket组件 14.11 TXMLDocument组件 14.12 TWebBrowser组件 14.13 建立Web服务器应用程序 14.14 访问数据库 14.15 调试Web服务器应用程序 14.16 实例——实现数据库查询的Web服务器应用程序 14.17 实例——实现动态参数查询 14.18 实例——Web服务器应用程序 14.19 综合实例——使用Socket的“网上对话”程序 第15章 WebSnap组件页 15.1 WebSnap概述 15.2 WebSnap结构 15.3 WebSnap组件页常用组件 15.4 WebSnap组件页数据库组件 15.5 WebSnap组件页的访问控制组件 第16章 WebServices组件页 16.1 HTTPRIO组件 16.2 HTTPReqResp组件 16.3 OPToSoapDomConvert组件 16.4 SoapConnection组件 16.5 HTTPSoapDispatcher组件 16.6 WSDLHTMLPublish组件 16.7 HTTPSoapPascalInvoker组件 16.8 实例——应用Web Service组件页 第17章 Indy组件集 17.1 Indy Clients组件页 17.2 Indy Servers组件页 17.3 Indy Intercepts组件页 17.4 Indy I/O Handlers组件页 17.5 Indy Misc组件页 17.6 Indy组件集应用实例 第18章 IntraWeb组件页 18.1 概述 18.2 IW Standard组件页 18.3 IW Data组件页 18.4 IW Client Side组件页 18.5 IW Control组件页 18.6 IW组件应用实例
Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 5. Oracle Index 的三个问题 6. Oracle PL-SQL语言基础 7. Oracle的分布式管理 8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化器一般错误概念和问题 19.Delphi 3_0连接数据库的三种方式 20.远程数据库的访问 21.监控数据库性能的SQL 22.简单实现数据库表空间的备份或迁移 23.简析REDO LOGFILE 24.理解和使用Oracle 8i分析工具-LogMiner 25.哪些初始化参数最影响Oracle系统性能 26.你的SQL语句在什么情况下使用全表扫描? 27.如何对CLOB行字段执行全文检索 28.如何让你的SQL运行得更快 29.如何使‘CREATE TABLE AS SELECT’能支持ORDER BY 30.删除表内重复记录的方法 31.数据库安全性策略 32.数据库的查询优化技术. 33.提高C-S系统性能的一些方法 34.提高ORACLE数据库系统import性能 35.外部联接的用法 36.性能调试的一般问题 37.优化 38.优化调整Oracle 8i数据库(从操作系统) 39.在Internet上运作公司是一项艰苦的任务--关键任务 40.在oracle限制返回结果集的大小 41.在远端如何建立standby数据库 42.怎样分析你的SQL语句的效率 43.自动备份Oracle数据库 44.总结SQL语句的优化提示 45.使用Database Configuration Assistant安装第二个数据库 46.Oracle 数据库向 MS SQL Server 7.0 的迁移 Oracle1: 1. Decode()函数使用技巧(NT+IIS+ASP+ORACLE) 2. Dual伪列 3. EXP、IMP 命令详解 4. Exp-Imp大量数据 5. Export-Import 使用技巧与常见错误 6. NULL 使用详解 7. Oracle for NT系统实用工具介绍 8. Oracle 和 mysql 的一些简单命令对比参照 9. Oracle8i和Microsoft SQL Server7_0比较 10. Oracle8的不安全因素及几点说明 11. Oracle常见错误代码 12. Oracle常用Script 13. Oracle常用数据字典 14. ORACLE回滚段管理(上) 15. ORACLE回滚段管理(下) 16. Oracle基于Client-Server的性能调整 17. Oracle数据库的安全策略 18. ORACLE数据库简介 19. Oracle数据库密码文件的使用和维护 20. Oracle数据库碎片整理 21. Oracle特殊包 22. Oradim工具的用法 23. PB如何连接Oracle数据库 24. ROLLBACK不能回滚的命令 25. 安装Oracle后,经常使用的修改表空间的SQL代码 26. 比较SQL Server与Oracle、DB2 27. 多个数据库时,如何设置默认数据库 28. 各种数据类型的比较 29. 漫谈oracle的空值 30. 没有备份、只有归档日志,如何恢复数据文件 31. 哪些初始化参数最影响Oracle系统性能 32. 如何查看数据库的字符集 33. 如何启动ARCHIVELOG模式 34. 如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ? 35. 如何使用归
很久没有发布东东了,今天看到盒子上有朋友发布了个三层的东东, 下来大概看了看,貌似使用起来不太方便,曾经用过ASTA和RmoObject,都不是那么让人满意,BUG多,并且庞大需要安装,使用十分不方便。 为了继续支持我喜欢的DELPHI和可爱的盒子, 特发布个自己写的远程数据库对象希望能给大家平常的工作带来便利和高效(偶自己和同事们都用了挺长时间,十分稳定易用)。 用DELPHI的朋友少不了要和数据库打交道,一般小程序都使用ACCESS做数据库感觉十分方便,不用装服务端,客户端不用单独装驱动, 发布程序时直接目录一拷贝就完事,但缺点是不方便从其它计算机对它进行访问, 有了偶这个东东,就可以很方便容易的实现咯。 ps : 就是连接Oracle和mysql,客户端也可以不用装驱动哦 使用步骤 解压后找个地方存放 将GobUnit目录添加到delphi的搜索路径 将DXSockEnt30(我改过bug的版本)的3个子目录也添加到delphi的搜索路径 即可使用和编译所有偶提供的代码 FAQ: 这个东东都提供什么功能? 答:提供最简单方便高效的方式,通过ADO对象实现远程数据库 这个东东为什么不封装成控件? 答:本类以单元形式封装,只要加到搜索路径后直接引用即可,无需经过安装等麻烦的步骤。 这个东东适合应用在什么场合? 答:适合应用于小型分布式程序。 这个东东掌握起来有难度吗? 答:没有任何难度,就和你开发本地数据程序一样简单。 这个东东可以应用在我已有的程序里吗? 答:由于我使用的是AdoQuery作为数据集载体,所以无需更改为其他控件,现有的本地数据库程序也可以非常容易的改造为支持分布式数据库。 这个东东稳定吗? 答:经自己长期做小白鼠广泛的实际应用实践,发现方便,稳定。 服务端的端口号是多少? 答:服务端的端口号可以随意设置,只要不和其他程序冲突就可以,并且客户端连接服务端时必须端口一致. 如果服务端重启了客户端需要重启吗? 答:不用,客户端只要连接上服务端以后就有自动断线重连的功能。 这个东东免费吗? 答:完全免费,并且开放所有源代码,你可以随意改进,传播它,当然如果更好用了,记得给我也发一份 :)(要保留偶的版权和注释信息哦) 这个东东使用到了那些控件? 答:delphi的ADO控件,INDY,以及第3方Dxsock(服务端用)。 同时发布的还有我自己积累的几个常用单元,有日志,调试,tcp的通用服务和客户端模块等,同样都是十分有用的东东。 这个东东有demo程序吗? 答:有最简单的示范程序,但时间关系只写了最简单的演示代码,还有很多值得你去挖掘的实用接口和单元。 我有了改进版本,怎么联系这个东东的作者? 答:QQ 22900104 ,Email [email protected] 马敏钊 发布这个东东的目的是什么? 答:好用的东东大家分享,共同学习,共同进步,希望大家都能发扬开源精神。 构架说明: 大概是这样的,偶有一个服务器对象,负责提供数据库服务,在需要提供数据服务的程序里创建它即可。 使用起来十分简单 首先引用服务端单元 uses UntRmodbSvr; //创建远程服务对象 (参数1 服务端口号 日志对象,如果不需要记录日志请填nil) Gob_RmoDBsvr := TRmodbSvr.Create(FSvrPort, nil); //连接数据库 可以是ADO支持的所有数据库 调用TDBMrg提供的获取各种数据库的链接字符串即可,这里连接Access数据库 Gob_RmoDBsvr.ConnToDb(TDBMrg.GetAccessConnStr('cfg.mdb')); 到此为止,2行代码使你的这个程序具有了将数据库发布出去的能力,其它机器的程序可以方便的通过它访问到数据库,像使用本地数据库一样。 客户端只需连接服务端即可,不管服务端是什么样的数据库,无需安装任何数据库驱动。 uses UntRemSql; //创建客户端对象 RmoClient := TRmoHelper.Create(); //连接服务端 填入服务端地址和端口(与服务端端口一致即可) Result := RmoClient.ReConnSvr(ISvrIP, Iport); 2行代码使你的客户端程序具有了方便的访问到远端的数据库,像使用本地数据库一样,并且你原有的单机数据库程序可以很方便改为远程数据库。 具体使用方法可以查看DEMO程序 为了方便交流建了个QQ群,欢迎大家参与 15637473
连接Oracle数据库的步骤如下: 1. 在Delphi的环境,首先需要在主菜单选择 "File" -> "New" -> "Other",在弹出的窗口选择 "Delphi Projects" -> "Delphi Files",然后点击 "OK"。 2. 在新建项目,找到 "dbExpress" 类别,在右侧选择 "dbExpress DataModule" 并点击 "OK"。这将创建一个新的数据模块(Data Module)。 3. 在数据模块,选择 "Database Explorer" 面板,在 "dbExpress" 栏目下找到 "Oracle" 驱动程序,拖拽到数据模块的空白区域。 4. 在 "Database Explorer" 面板,右键点击 "Oracle Connection" 并选择 "Edit Connection"。在弹出的窗口,输入数据库连接信息,包括主机名、端口、服务名、用户名和密码等。点击 "Test Connection" 按钮,确保连接信息输入正确。 5. 在数据模块,可以添加 "Table" 组件或 "Query" 组件以执行数据库操作。通过这些组件,可以方便地设计和执行SQL查询、插入、更新和删除等操作。 6. 在代码,可以使用代码来控制数据库连接和操作。例如,可以使用以下代码来连接数据库: ```delphi uses Data.DB, Data.SqlExpr; var Connection: TSQLConnection; begin Connection := TSQLConnection.Create(nil); try Connection.DriverName := 'Oracle'; Connection.Params.Values['HostName'] := 'localhost'; Connection.Params.Values['Port'] := '1521'; Connection.Params.Values['Database'] := 'ORCL'; Connection.Params.Values['User_Name'] := 'username'; Connection.Params.Values['Password'] := 'password'; Connection.Connected := True; // 执行数据库操作 finally Connection.Free; end; end; ``` 以上就是使用Delphi 10连接Oracle数据库的简要步骤和示例代码。希望能够帮助到您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值