Contoh : saat kita memakai item plugin google recaptcha jelas hal tersebut membutuhkan koneksi internet ke google untuk mengaktifkan plugin tersebut bukan?.
Jadi kita bisa gunakan solusi UTL_TCP untuk digunakan dalam pengecekan kondisi apakah aplikasi sekarang sedang bisa akses internet atau tidak.
- Pastikan anda memberi akses ACL google.co.id (contoh) jika memakai 11g.
- Grant akses UTL_TCP ke schema ybs.
- Buatlah sebuah function seperti berikut :
- Gunakan dalam condition di aplikasi APEX untuk me-check apakah jaringan terkoneksi ke internet:
CREATE OR REPLACE FUNCTION PING_INTERNET(P_HOST_NAME VARCHAR2, P_PORT NUMBER DEFAULT 1000) RETURN VARCHAR2
IS
tcpConnection UTL_TCP.CONNECTION; --TCP/IP connection to the server
C_PING_OK CONSTANT VARCHAR2(10) := 'OK';
C_PING_ERROR CONSTANT VARCHAR2(10) := 'ERROR';
BEGIN
tcpConnection := UTL_TCP.open_connection(remote_host => p_HOST_NAME,
remote_port => p_PORT,tx_timeout=> 5);
UTL_TCP.close_connection(tcpConnection);
RETURN C_PING_OK;
EXCEPTION
WHEN UTL_TCP.NETWORK_ERROR THEN
IF( UPPER(SQLERRM) LIKE '%HOST%' )THEN
RETURN C_PING_ERROR;
ELSIF(UPPER(SQLERRM) LIKE '%LISTENER%' )THEN
RETURN C_PING_OK;
ELSE
RAISE;
END IF;
END PING_INTERNET;
/
select ping_internet('google.co.id', 80) from dual;
Tidak ada komentar :
Posting Komentar