在oracle中看到一个函数:
FUNCTION COL_DECRYPT_NUM(ALGO IN VARCHAR2, COLUMN_ID IN VARCHAR2, COL_KEY_SEQ IN VARCHAR2, CIPHER_TEXT IN NUMBER, OUTPUT_STATUS OUT BINARY_INTEGER) RETURN NUMBER IS
EXTERNAL NAME "Col_Decrypt_Num"
LIBRARY DBENCRYPTLIB
LANGUAGE C
CALLING STANDARD C
WITH CONTEXT
PARAMETERS (CONTEXT,
ALGO STRING,
ALGO LENGTH INT,
ALGO INDICATOR SHORT,
COLUMN_ID STRING,
COLUMN_ID LENGTH INT,
COLUMN_ID INDICATOR SHORT,
COL_KEY_SEQ STRING,
COL_KEY_SEQ LENGTH INT,
COL_KEY_SEQ INDICATOR SHORT,
CIPHER_TEXT BY REFERENCE OCINUMBER,
CIPHER_TEXT INDICATOR SHORT,
OUTPUT_STATUS INT,
OUTPUT_STATUS INDICATOR SHORT,
RETURN INDICATOR SHORT,
RETURN BY REFERENCE OCINUMBER);有达人能告知大概是什么意思吗?特别是中间这段:
EXTERNAL NAME "Col_Decrypt_Num"
LIBRARY DBENCRYPTLIB
LANGUAGE C
CALLING STANDARD C
WITH CONTEXT
PARAMETERS (CONTEXT,
....... 是调用C吗??如果是,那调用C的什么啊?什么文件?什么函数?还是什么东东....??
FUNCTION COL_DECRYPT_NUM(ALGO IN VARCHAR2, COLUMN_ID IN VARCHAR2, COL_KEY_SEQ IN VARCHAR2, CIPHER_TEXT IN NUMBER, OUTPUT_STATUS OUT BINARY_INTEGER) RETURN NUMBER IS
EXTERNAL NAME "Col_Decrypt_Num"
LIBRARY DBENCRYPTLIB
LANGUAGE C
CALLING STANDARD C
WITH CONTEXT
PARAMETERS (CONTEXT,
ALGO STRING,
ALGO LENGTH INT,
ALGO INDICATOR SHORT,
COLUMN_ID STRING,
COLUMN_ID LENGTH INT,
COLUMN_ID INDICATOR SHORT,
COL_KEY_SEQ STRING,
COL_KEY_SEQ LENGTH INT,
COL_KEY_SEQ INDICATOR SHORT,
CIPHER_TEXT BY REFERENCE OCINUMBER,
CIPHER_TEXT INDICATOR SHORT,
OUTPUT_STATUS INT,
OUTPUT_STATUS INDICATOR SHORT,
RETURN INDICATOR SHORT,
RETURN BY REFERENCE OCINUMBER);有达人能告知大概是什么意思吗?特别是中间这段:
EXTERNAL NAME "Col_Decrypt_Num"
LIBRARY DBENCRYPTLIB
LANGUAGE C
CALLING STANDARD C
WITH CONTEXT
PARAMETERS (CONTEXT,
....... 是调用C吗??如果是,那调用C的什么啊?什么文件?什么函数?还是什么东东....??
解决方案 »
- 请教高手解决sqlldr问题
- 求救,在线急等
- 高分!寻找oracle8安装文件
- 高分求救: JAVA 中的 FINALLY 在 PL/SQL 中如何实现 ?
- oracle92sever是否可以安装到winxp home版上
- 如何查看数据库文件已经用多少空间,剩下多少空间?如何查看一个表格占用多少空间?
- 购买几套软件,软件的市场价格是多少?
- 向各位朋友请教一个SQL语句,多谢!
- oracle 8.1.7中存储过程碰到的问题:while exits( 编译不过,高手赐教!
- 求购ERWIN的操作指南(最好是中文版的)__在线等待
- 各位兄弟帮个忙!!
- Oracle Reports , 如何获取生成 report?
oracle里面可以调用C或Java之类的函数,在Oracle称为External Procedure。 在oracle9i的文档Application Developer's Guide - Fundamentals (a96590.pdf )中第10章有介绍。过程一般是这样的:
1.先将你C函数编译并打包成.so或.sl之类的动态库(windows上就是dll了),并放到指定的目录下(比如$ORACLE_HOME/lib)。 这个动态库的位数必须和oracle的位数是一致的(32位还是64位)。2.再创建library,如:
create library mylib as '/export/oracle/demo/libshr.so';
这个用于加载libshr.so中的外部例程。3.发布,就是用你上面写的语法。4.真正要用起来,可能还必须修改listener.ora,增加extproc相关内容。