IPアドレスを10進数で格納したOracleデータベースがあります。これはWebインタフェースではなく手でデータを操作すると非常に苦痛ですネットワークの人たちが、ウェブインターフェースの作者が予期していない奇妙なことを私たちに依頼しているので、操作は本当に便利です。小数点として格納されたIPアドレス - 点線の四角で表示するPL/SQL
これらの10進数のIPをドット付き小数点(123.123.123.123)の形式で表示する方法はありますか?
I.e.代わりの3407801602.
として理想的には私が提供する手続きを希望
select hostname, inttoip(ip_address) from host;
と203.30.237.2としてinttoip()
手順表示IP_ADDRESSを持っている:私は、次のようなクエリを実行できるようにしたいのですが逆関数も、例えば
insert into host (hostname,ip_address) values ('some-hostname', iptoint('203.30.237.2'));
私はこれを行うにはperlを持っていますが、PL/SQL/Oracleの知識はPL/SQLに移植するには十分ではありません。
また postgresの中で次のように類似のOracleコンテキスト内で手続き型言語としてPerlを実行する方法:
CREATE FUNCTION perl_func (integer) RETURNS integer AS $$
<some perl>
$$ LANGUAGE plperl;
は素晴らしいことだ - 可能であれば - おそらく私が慣れ親しんだ言語でOracle内で多くの手続きを行うことができたので、さらに優れていました。
Oracleの内部JVMがあります。 JVMの内部で動作するPerlのバージョンは存在しますか?もしそうなら、あなたはperlを使うことができます。たとえば、Oracle JVMを使用してJythonを実行することが可能です。ここをクリックしてください:http://forums.oracle.com/forums/thread.jspa?threadID=492882&tstart=15 – tuinstoel