在Oracle数据库中使用PL操作COM对象

数据库 Oracle
以下的文章主要描述的是Oracle数据库里正确使用PL/SQL操作COM的对象的相关内容的介绍,以下就是文章正文的描述,望你会有所收获。

上一篇文章我们主要讲述的是如何在Oracle数据库中使用PL/SQL操作COM对象,以下的文章那个我们即那个要讲述的是在Oracle数据库中使用COM对象的说明的具体内容的介绍,以下就是文章内容的详细描述。

使用COM对象说明

COM对象设计都会提供了三个基本操作给开发人员使用,分别为:获取属性值,设置属性值(只读属性除外),调用方法。oracle数据库在Windows的平台下提供了操作COM对象的接口,属于C语言外部例程模式。在使用该功能之前,需明白如下内容:

1) 在Oracle数据库中使用PL/SQL创建COM对象操作函数。

 

  1. SQL> CONNECT SYSTEM/chanet@oradb   
  2. SQL> CREATE USER chanet identified by chanet;   
  3. SQL> GRANT CREATE LIBRARY TO chanet;   
  4. SQL> CONNECT chanet/chanet@oradb;   
  5. SQL> @D:oracleora92comcomwrap.sql; 

 

 

2)配置监听器。

在listener.ora文件里,添加如下内容,并重启监听器。

 

 

  1. STARTUP_WAIT_TIME_LISTENER = 0   
  2. CONNECT_TIMEOUT_LISTENER = 10   
  3. TRACE_LEVEL_LISTENER = off   
  4. PASSWORDS_LINTENER = (oracle) 

 

 

3) PL/SQL数据类型与对应的COM对象类型

表1-1数据类型比较

 

PL/SQL数据类型 COM API 数据类型

 

 

  1. VARCHAR2 BSTR   
  2. BOOLEAN BOOL   
  3. BINARY_INTEGER BYTE,INT,LONG   
  4. DOUBLE PRECISION DOUBLE,FLOAT,CURRENCY   
  5. DATE DATE 

 

 

4) 函数说明。

表1-2函数说明

 

名称 功能描述

CreateObject 创建对象

 

DestroyObject 关闭对象

 

GetLastError 获取错误信息

 

GetProperty 获取属性值

 

SetProperty 设置属性值

 

InitArg 为Invoke函数初始化参数

 

InitOutArg 为GetArg初始化输出参数

 

GetArg 获取输出参数

 

SetArg 为Invoke函数设置参数

 

Invoke 调用Oracle数据库中使用PL/SQL操作COM对象的函数或过程

 

5) 操作Excel示例

 

本节介绍如何操作COM对象(以Excel对象为例),将数据库里的表记录通过PL/SQL语句输出成Excel文件。通过对象浏览器可以查看Excel对象提供的属性和方法。(如:在Excel菜单,工具 -> 宏 -> 打开Visual Basic编辑器,在编辑器里,视图 -> 对象浏览器)。

使用Excel对象一般针对单元格进行操作(如,设置第一个单元格字体大小的代码为:Range("A1").Font.Size = 20)。对应的COM外部例程操作的步骤为:

1、获取程序句柄;

2、获取工作簿句柄;

 

3、获取工作表句柄;

 

4、获取Range区句柄;

 

5、获取Font类句柄;

 

6、设置Size属性。

 

 以上的相关内容就是对Oracle数据库中使用PL/SQL操作COM对象的介绍,望你能有所收获。

【编辑推荐】

  1. 归档解决方案等多项技术和功能
  2. LTO归档解决方案容量、性能和功能介绍
  3. 归档解决方案进行自动精简配置
  4. 日立归档平台支持SAP 应用程序数据
  5. 惠普邮件归档平台运用存储网格技术

 

责任编辑:佚名 来源: 互联网
相关推荐

2010-04-14 09:54:56

Oracle数据库

2011-05-19 09:53:33

数据库对象

2010-05-04 11:58:38

Oracle数据库

2010-05-05 11:17:55

Oracle数据库

2011-04-08 16:00:11

Oracle数据库外部表

2009-06-10 14:42:50

NetBeans IDJava DB数据库

2011-05-17 16:20:46

C++

2011-03-30 10:41:11

C++数据库

2010-04-12 08:59:00

2011-04-14 13:01:53

Oracle数据库

2011-08-29 13:24:50

Oracle数据库PLSQL设置快捷键

2011-01-20 10:39:09

postfixmysql

2010-04-27 15:22:34

Oracle proc

2011-09-01 15:26:51

QtMysql数据库

2009-11-03 10:14:41

Oracle数据库对象

2011-08-02 17:06:29

Oracle远程数据库创建DB Link

2010-04-15 12:43:06

Oracle数据库

2011-03-16 17:26:22

动态数据库

2011-06-27 13:49:39

PLSQL DevelopOracle

2009-06-10 09:58:32

Oracle sequHibernate
点赞
收藏

51CTO技术栈公众号