DELPHI中使用UNIDAC连接ORACLE数据库
DELPHI中使用UNIDAC连接ORACLE数据库
最近在DELPHI中使用到UNIDAC连接到oracle数据库,这样可以不要安装oracle客户端,比较方便使用;所以简单学习了一下,主要是用到查询和执行存储过程,其中存储过程我测试了没有返回参数、有返回参数、有多高返回参数、有返回游标等存储过程,没有深入研究,以下就简单的查询和执行存储过程按步骤说一下:
1,执行查询语句:
a)新建一个ORACLECONNECTION。如图所示:

b)双击ORACLECONNECTION,出现下图,按图填写连接ORACLE的相关参数,点击CONNECT就可以连接了。

c)添加一个Tuniquery,编写SQL语句,点击EXECUTE按钮,点击DATA EDITOR...按钮可以获取记录;

d)新建一个TcLIENTDATASET,新建一个TdataSetProider,把新建的TClientDataSet的providernae属性设置为新建的Tdatasetprovider,把新建的tdatasetprovider的dataset属性设置为刚才建好的TUniqry就可以了;
e)使用代码如下: // IsLIPattern := FData.IsLIPattern;
with UniQryGetAT do//新建的TUNIQUERY
begin // 获取配置的AT500DID
Close;//关闭
SQL.Text :=//sql语句
'SELECT B.AT_ID, B.AT_IP, C.LINE_NAME, B.AT_POLLING, C.LINE_STAGE ' +
'FROM BD_PC_AT A, BD_AT_INFO B, BD_LINE C ' +
'WHERE UPPER(A.TGS_PC_NAME) = UPPER(''' +
Impack.Net.IPAddress.LocalHostName + ''') AND B.LINE_NO = C.LINE_NO ' +
' AND A.AT_ID = B.AT_ID ORDER BY B.AT_ID ';
OutputDebugString(PChar(SQL.Text));
Open;//打开 // GwCount := RecordCount;
// if GwCount = then Exit;
// 设置二维数组
SetLength(Ary_Gateway, , );
i := ;
j := ; // 写入IPINDEX文件
with TStringList.Create do
begin
while not Eof do
begin
Inc(i);
while i < FieldValues['AT_ID'] do
begin
Add(IntToStr(i) + ' 4660 0.0.0.0');
Inc(i);
end;
if j > then
SetLength(Ary_Gateway, j + , );
Add(IntToStr(i) + ' 4660 ' + FieldValues['AT_IP']);
Ary_Gateway[j, ] := IntToStr(i);
Ary_Gateway[j, ] := FieldValues['AT_ID'];
Ary_Gateway[j, ] := FieldValues['AT_IP'];
Ary_Gateway[j, ] := FieldValues['LINE_NAME'];
Ary_Gateway[j, ] := 'Kitting';
Ary_Gateway[j, ] := IntToStr(FieldValues['AT_Polling']);
Inc(j);
next;
end;
SaveToFile('ipindex');
Free;
end;
end;
后续会写一篇介绍使用存储过程。
DELPHI中使用UNIDAC连接ORACLE数据库的更多相关文章
- win7下VS.NET中通过LinqToSQL连接oracle数据库
.NetFramework3.5提供了LinqToSQL组件,为我们访问数据库提供了方便.我用的是VS+Oracle开发工具.也想体验一下快捷方便的感觉. 1.连接Oracle数据库 在连接Oracl ...
- Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用
真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今 ...
- C# 连接Oracle数据库,免安装oracle客户端
一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...
- java连接Oracle数据库的操作说明
在测试中,我们常常需要连接Oracle数据库来进行查询对比.下面,我们就来看看,如何使用java代码来连接数据库,并且取出我们想要的数值. 首先,java中如果要连接Oracle数据库,需要jdbc的 ...
- C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库
由于微软在.Net框架4.0中已经决定撤销使用System.Data.OracleClient,造成在VS2010中无法连接Oracle数据库,但它还依旧存在于.Net架构中,我们可以通过自己引用 C ...
- java连接Oracle数据库实现增删改查并在Navicat中显示
创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...
- Delphi - cxGrid连接Oracle数据库
cxGrid连接Oracle数据库 WinFrm窗体中需要添加OraSession .OraQuery和 OraDataSource控件. OraSession中配置数据库连接参数: OraQuery ...
- 在Visual Studio 2017中,.NET(C#)通过Oracle.ManagedDataAccess来连接Oracle数据库
C#如何通过Oracle.ManagedDataAccess来连接Oracle数据库 1.先创建一个项目,鼠标右击项目中的引用,再点击管理NuGet程序包(也可以先下载dll文件,再选添加引用),在搜 ...
- Delphi - cxGrid连接Oracle数据库 实现数据的增删改查
cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...
随机推荐
- 多线程-模拟阻塞queue队列
前阵子学习了多线程,现在进行总结一下,模拟队列. 分析问题: (1)首先需要一个容器存放元素,这里用linkedList队列. (2)每次像容器中添加或删除元素的时候需要计数,所以这里需要一个计数器, ...
- 使用js写的确认提交表单确认框
js脚本 <script language="Javascript"> function validator() { if(confirm("确认要执行此操作 ...
- QTableWidget 列排序
connect(uirecord.tableWidget->horizontalHeader(),SIGNAL(sectionClicked(int)),this,SLOT(record_sor ...
- Flume-NG中的Channel与Transaction关系(原创)
在sink和source中(不管是内置还是自定义的),基本都有如下代码,这些代码在sink中的process方法中,而在source中自己不需要去写,在source中getChannelProcess ...
- Pandas时间差(Timedelta)
时间差(Timedelta)是时间上的差异,以不同的单位来表示.例如:日,小时,分钟,秒.它们可以是正值,也可以是负值.可以使用各种参数创建Timedelta对象,如下所示 - 字符串 通过传递字符串 ...
- rabbitmq High Availability
每个rabbitmq node运行RabbitMQ application,共享用户virtual hosts, queues, exchanges, etc. 一个nodes组称之为一个集群. 所有 ...
- Tomcat中HTTP与AJP区别
Tomcat: HTTP与AJP区别 Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户. 默 ...
- poj3468线段树标记永久化
#include<map> #include<set> #include<list> #include<cmath> #include<queue ...
- HDU 4531 bfs/康拓展开
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4531 吉哥系列故事——乾坤大挪移 Time Limit: 2000/1000 MS (Java/Othe ...
- DOCKER实战案例
操作系统:[root@yz6205 ~]# docker search busyboxNAME DESCRIPTION STARS OFFICIAL AUTOMATEDbusybox Busybox ...