在oracle裡面引用外部的C語言編寫的過程

2021-08-23 13:33:47 字數 870 閱讀 4302

1、首先編寫下面的**:

#include	#include	#include	#include	#include	#include	#include	#include	int	strtime2num(char *tstr)

編譯選項,solaris下的cc編譯,其他平台可以自行處理:

test_func.o : test_func.c

cc -g -xarch=v9 -o $/test_func.o -c $(syncsvrdir)/test_func.c

test_func.so: test_func.o

cc -g -kpic -xarch=v9 -o test_func.so test_func.o

關鍵記得把這個so放到server執行的機器上去,比方說放到:/database/oracle/product/10.2.0/db_1/lib/test_func.so。在oracle裡面建立函式:

create or replace library mylib as '/database/oracle/product/10.2.0/db_1/lib/test_func.so';

create or replace function mytest1(a varchar2) return binary_integer as

language c name "strtime2num"

library mylib parameters (a string,return int);

好了,試試:

select mytest1('2006-12-01 00:00:00') from dual;

在Ant中引用外部的任務

ant 為使用者提供了大量的任務,更為可貴的是,它允許使用者使用其它開發者開發的任務。在 ant主頁上就有乙個外部任務列表 只要你願意,你也可以很快寫出乙個自己的任務來,看看本系列的 編寫自定義任務,輕鬆擴充套件 ant 就行了。在 ant中引用外部任務有兩種情況 一 ant 定義的可選任務 這些任...

在Oracle 裡面建立job

1 建立測試表 create table a a date 2 建立儲存過程 create or replace procedure b as begin insert into a values sysdate end 3 提交建立job variable aaa number begin dbm...

在oracle裡面寫case語句

例子 在乙個表 tablename 中由於乙個字段 flag 的取值不同,對另乙個字段 value 分別作多次sum.selectid,nvl sum case whenflagis null thenvalue end 0 value a,nvl sum case whenflagisnot nu...