声明这是我年的一个偶然所得借助了很多朋友和同事的帮助希望能对在这个领域里面找寻的同行一些帮助
首先用C在SOLARIS上编写一个CRCC文件
使用了SOLARIS上的GCC编译器编译了CRCC文件该文件最好放在oracleg主目录下
使用gcc编译器编译成位的crcso文件
编译命令是
gcc m fpic o crco c crcc
gcc shared m o crcso crco L/usr/sfw/lib/
在数据库中创建lib命令是
SQL> create or replace library CRC as /opt/oracleg/crcso /
再创建function命令如下
以下为引用的内容
CREATE OR REPLACE function crc_(a in varchar)
return binary_integer
as
language C
library CRC
name call_crc
parameters(a stringreturn int);
/
以下为引用的内容
SQL> select crc_(hello) from dual
CRC_(HELLO)
同使用PERL语言写的CRC算法程序计算
crcpl hello
结果一致
同理对其他字符串进行了测试结果一样
测试成功证明在ORACLE中可以使用CRC计算出INTID