Pessoal, tenho um servidor que irá enviar via socket dados de senha (número da senha de atendimento e nome da pessoa) via socket para o servidor Oracle e em teoria uma procedure (ou function) deveria ser acionada para executar o cadastramento desta senha de atendimento.
Minha maior dúvida, é possível fazer o Oracle receber esses dados via socket e acionar uma procedure? Alguém tem alguma dica de documentação sobre isso?
Obrigado.
Receber dados via socket
-
- Rank: DBA Sênior
- Mensagens: 317
- Registrado em: Seg, 16 Nov 2009 4:50 pm
- Localização: São Paulo - SP
Pessoal, tenho um servidor que irá enviar via socket dados de senha (número da senha de atendimento e nome da pessoa) via socket para o servidor Oracle e em teoria uma procedure (ou function) deveria ser acionada para executar o cadastramento desta senha de atendimento.
Minha maior dúvida, é possível fazer o Oracle receber esses dados via socket e acionar uma procedure? Alguém tem alguma dica de documentação sobre isso?
--
Boa tarde amigo.
Eu vi alguma coisa de sockets mas quando trabalhava com Delphi. Isto remete ao uso de APIs do sistema operacional para trafegar pacote de dados via rede (TCP, UDP) na camada de transporte, portanto acredito que você deva conseguir isso utilizando o java.
Delimite o uso de recursos e tecnologia definindo bem o propósito, ou seja, do que se trata a aplicação? É um client/server, multicamadas web?
Como não conheço muito de protocolos de rede não vou prolongar muito, mas vi alguns artigos que talvez possam te ajudar a esclarecer.
http://www.oracle.com/technetwork/java ... tion.html
Ainda, pesquisando, me deparei com o seguinte pacote:
* UTL_TCP (Using TCP/IP Connections from PL/SQL Using the UTL_TCP package, a PL/SQL subprogram can open TCP/IP connections to systems on the network, and read or write to the corresponding sockets.);
Que segundo definições da Oracle você pode usá-lo para comunicações externas, conforme segue:
"With the UTL_TCP package and its procedures and functions, PL/SQL applications can communicate with external TCP/IP-based servers using TCP/IP. Because many Internet application protocols are based on TCP/IP, this package is useful to PL/SQL applications that use Internet protocols and e-mail."
http://docs.oracle.com/cd/B28359_01/ap ... u_tcp.htm
Posteriormente achei um artigo com um pequeno exemplo em PL/SQL:
Fonte:
http://kkempf.wordpress.com/2009/12/07 ... om-plsql/
Espero ter ajudado.
Att.,
Minha maior dúvida, é possível fazer o Oracle receber esses dados via socket e acionar uma procedure? Alguém tem alguma dica de documentação sobre isso?
--
Boa tarde amigo.
Eu vi alguma coisa de sockets mas quando trabalhava com Delphi. Isto remete ao uso de APIs do sistema operacional para trafegar pacote de dados via rede (TCP, UDP) na camada de transporte, portanto acredito que você deva conseguir isso utilizando o java.
Delimite o uso de recursos e tecnologia definindo bem o propósito, ou seja, do que se trata a aplicação? É um client/server, multicamadas web?
Como não conheço muito de protocolos de rede não vou prolongar muito, mas vi alguns artigos que talvez possam te ajudar a esclarecer.
http://www.oracle.com/technetwork/java ... tion.html
Ainda, pesquisando, me deparei com o seguinte pacote:
* UTL_TCP (Using TCP/IP Connections from PL/SQL Using the UTL_TCP package, a PL/SQL subprogram can open TCP/IP connections to systems on the network, and read or write to the corresponding sockets.);
Que segundo definições da Oracle você pode usá-lo para comunicações externas, conforme segue:
"With the UTL_TCP package and its procedures and functions, PL/SQL applications can communicate with external TCP/IP-based servers using TCP/IP. Because many Internet application protocols are based on TCP/IP, this package is useful to PL/SQL applications that use Internet protocols and e-mail."
http://docs.oracle.com/cd/B28359_01/ap ... u_tcp.htm
Posteriormente achei um artigo com um pequeno exemplo em PL/SQL:
Fonte:
http://kkempf.wordpress.com/2009/12/07 ... om-plsql/
declare
bt_conn utl_tcp.connection;
retval binary_integer;
l_sequence varchar2(30) := 'Sequence Number 101021';
begin
bt_conn := utl_tcp.open_connection(remote_host => '10.10.1.1'
,remote_port => 5000
,tx_timeout => 1
)
;
retval := utl_tcp.write_line(bt_conn,l_sequence)
;
utl_tcp.flush(bt_conn)
;
utl_tcp.close_connection(bt_conn)
;
exception
when others then
raise_application_error(-20101, sqlerrm)
;
utl_tcp.close_connection(bt_conn)
;
end
;
/
Espero ter ajudado.
Att.,
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes