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数据库的更多相关文章

  1. win7下VS.NET中通过LinqToSQL连接oracle数据库

    .NetFramework3.5提供了LinqToSQL组件,为我们访问数据库提供了方便.我用的是VS+Oracle开发工具.也想体验一下快捷方便的感觉. 1.连接Oracle数据库 在连接Oracl ...

  2. Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用

    真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今 ...

  3. C# 连接Oracle数据库,免安装oracle客户端

    一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...

  4. java连接Oracle数据库的操作说明

    在测试中,我们常常需要连接Oracle数据库来进行查询对比.下面,我们就来看看,如何使用java代码来连接数据库,并且取出我们想要的数值. 首先,java中如果要连接Oracle数据库,需要jdbc的 ...

  5. C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库

    由于微软在.Net框架4.0中已经决定撤销使用System.Data.OracleClient,造成在VS2010中无法连接Oracle数据库,但它还依旧存在于.Net架构中,我们可以通过自己引用 C ...

  6. java连接Oracle数据库实现增删改查并在Navicat中显示

    创建TEST表 eclipse中的java项目 代码 数据库方法类 DBUtil: package util; import java.sql.Connection; import java.sql. ...

  7. Delphi - cxGrid连接Oracle数据库

    cxGrid连接Oracle数据库 WinFrm窗体中需要添加OraSession .OraQuery和 OraDataSource控件. OraSession中配置数据库连接参数: OraQuery ...

  8. 在Visual Studio 2017中,.NET(C#)通过Oracle.ManagedDataAccess来连接Oracle数据库

    C#如何通过Oracle.ManagedDataAccess来连接Oracle数据库 1.先创建一个项目,鼠标右击项目中的引用,再点击管理NuGet程序包(也可以先下载dll文件,再选添加引用),在搜 ...

  9. Delphi - cxGrid连接Oracle数据库 实现数据的增删改查

    cxGrid连接Oracle数据库 实现数据的增删改查 cxGrid连接Oracle数据库 1:通过OraSession连接数据库.OraDataSet实现OraSession和OraDataSour ...

随机推荐

  1. jQ&js给label

    <strong>当前角色:</strong><label id="lblRoleName" style="margin-bottom: 0p ...

  2. Android 相关重难点知识整理

    [原文] 集合 对 HashMap 进行排序: HashMap 本身无序,但其子类 LinkedHashMap 使用链表结构,实现了有序.通过 HashMap#entrySet() 方法可以将 Map ...

  3. tech| kafka入门书籍导读

    J梳理了一下自己在入门 kafka 时读过的一些书, 希望能帮助到对 kafka 感兴趣的小伙伴. 涉及到的书籍: kafka 权威指南 Kafka: The Definitive Guide (ka ...

  4. 分享:JAVA各种对象

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

  5. spring3: AOP 之 通知参数

    前边章节已经介绍了声明通知,但如果想获取被被通知方法参数并传递给通知方法,该如何实现呢?接下来我们将介绍两种获取通知参数的方式. 使用JoinPoint获取:Spring AOP提供使用org.asp ...

  6. Python中的import,from...import以及模块、包、库的概念

    首先,说明一下,我使用的是python3.6.3win32版本,使用的IDE是pycharm2017社区免费版. 刚开始接触python编程不久,有很多概念都不是特别清楚,但是我觉得既然选择,尽自己最 ...

  7. 【scala】定义变量和函数

    1.定义变量 Scala的变量分为两种,val和var. val跟java的final变量类似,一旦初始化就不能被重新赋值. var类似于java的非final变量,在整个生命周期内var可以被重新赋 ...

  8. asp.net获取URL和IP地址

    (转自:http://www.cnblogs.com/JuneZhang/archive/2010/11/26/1888863.html) HttpContext.Current.Request.Ur ...

  9. ARM的37个寄存器

    31个通用寄存器,包括程序计数器(PC)在内.这些寄存器都是32位寄存器. 6个状态寄存器.这些寄存器都是32位寄存器. 通用寄存器(R0-R15)可分为三类 :不分组寄存器R0~R7: 分组寄存器R ...

  10. Week04《Java程序设计》第四周学习总结

    Week04<Java程序设计>第四周学习总结 1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 答:static关键字,final关键字,静态初始块,抽象类,继承, ...