oracle中有没有类似sql server中扩展存储过程的机制?
(可用vc写个程序,编成.dll,用为扩展存储过程。)类似的功能。偶看一书前言oracle的总裁说“oracle 8i内置Java虚拟机,可在数据库内编写,存储,执行Java代码。”
但翻了许多书,都没有看到具体的叙述。请问到底有没有这种功能?
(可用vc写个程序,编成.dll,用为扩展存储过程。)类似的功能。偶看一书前言oracle的总裁说“oracle 8i内置Java虚拟机,可在数据库内编写,存储,执行Java代码。”
但翻了许多书,都没有看到具体的叙述。请问到底有没有这种功能?
1.创建dll,假设dll为:f:\dll\test.dll,其中有一个函数名为TestCon
2.在Sql中执行如下语句:
create or replace library my_dll as 'f:\dll\Test.dll';
create or replace procedure Test() is external
name "TestCon"
LIBRARY my_dll
LANGUAGE C ;
3.设置dll环境变量:
文件名:listener.ora 路径:D:\oracle\ora92\NETWORK\ADMIN\
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ENVS=EXTPROC_DLLS=f:\dll\Test.dll)
(ORACLE_HOME = D:\oracle\ora92)
)
文件名:tnsnames.ora 路径:D:\oracle\ora92\network\admin\
EXTPROC_CONNECTION_DATA.HAILIANG.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = houwenqiang)(PORT = 1521))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
4.然后就可以按照正常的存储过程调用方法进行调用了。