Muito obrigado Chiappa.

jlchiappa <[EMAIL PROTECTED]> escreveu:  Bem, não  sou especialista em DLLs, só 
as usei um pouco pra chamar
APIs prontas, , mas uma coisa que normalmente vejo é o tipo integer
ser mapeado nos arqs da função como BINARY_INTEGER, e não como
PL_INTEGER. A declaração em si da DLl numa passada superficial me
parece correta...
O que eu te sugiro é : ** antes de tudo **, siga o setup recomendado
no manual citado (na SUA versão de banco!), pra testar faça uma
external chamando uma dll ** do sistema operacional **, por exemplo
como mostrado em
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:21419917814146
e em
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:2450510349959
(pois aí se vc tiver problemas outras pessoas da lista podem tentar
reproduzir), e só então, com ambiente testado e ok, aí sim vá tentar
chamar essa dll , que pelo que vejo é específica dum fornecedor...
  Em
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:9087161189226
,
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:934029542973
e
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:1200435685237
há exemplos chamando DLLs com cabeçalho padrão linguagem C e afora a
questão dos datatypes são basicamente idênticas ao que vc mostrou.

[]s

Chiappa  

--- Em oracle_br@yahoogrupos.com.br, Mauricio Françoso
<[EMAIL PROTECTED]> escreveu
>
> Chiappa,
>    
>   Este é o metodo na DLL: (Prototipo da Funcao)
>    
>   extern "C" __declspec(dllexport) int __stdcall
ExecInClientDLL(intID, const char * Parameters, char * Buffer, int Size)
>    
>   ---
>    
>   Minha duvida é: Para chamar a funcao acima os datatypes da Proc
estao corretos ? Da uma olhada abaixo:
>    
>    CREATE OR REPLACE PROCEDURE LDAPlps (
>     IN_ID          IN  PLS_INTEGER, 
>     IN_PARAM       IN  VARCHAR2,
>     OUT_BUFFER     OUT VARCHAR2,
>     IN_SIZE      IN  PLS_INTEGER) 
>  AS LANGUAGE C
>     LIBRARY ldap_microsiga
>     NAME "ExecInClientDLL"
>     PARAMETERS (
>        IN_ID INT , 
>        IN_PARAM   STRING, 
>        OUT_BUFFER BY REFERENCE STRING, 
>        IN_SIZE    INT);
> 
> 
>   []s
>    
>    
>   Mauricio
>    
>    
>   
> jlchiappa <[EMAIL PROTECTED]> escreveu:
>   No banco 8i vc está tentando seguir as instruções do 10g, não é meio 
> estranho isso, deveria ser o manual "Oracle8i Application Developer's 
> Guide - Fundamentals", cap. 10 - External Routines, online em 
> http://www.oracle.com/technology/documentation/oracle8i.html.
> Nesse cara é especificado que vc tem que fazer alterações no 
> listener, vc as fez ? parou e subiu o listener de novo após isso ? 
> sqlnet não é listado, afaik, no documento como sendo necessário 
> altera (a ref é "1. Set Up the Environment
> Your DBA sets up the environment for calling external routines by 
> adding entries to the files tnsname.ora and listener.ora and by 
> starting a Listener process exclusively for external routines. 
> 
> ", exatamente O QUE vc alterou nele ??
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "mfrancoso" <[EMAIL PROTECTED]> 
> escreveu
> >
> > SO = windows 2000
> > ORACLE 8.1.7.4.0
> > 
> > Pessoal,
> > 
> > Estou tentando executar uma external procedure mas não estou 
> obtendo 
> > exito:
> > 
> > Seguem os passos executado.
> > 
> > Esse é o link dos datatypes
> > http://www.oracle-
> > 
> 10g.de/oracle_10g_documentation/appdev.101/b10795/adfns_ex.htm#1021379
> > 
> >  
> > ---- PARAMETROS DO METODO NA DLL ----
> > 
> > extern "C" __declspec(dllexport) int __stdcall ExecInClientDLL(int 
> > ID, const char * Parameters, char * Buffer, int Size)
> >  
> > 
> > ---- CRIACAO DA LIBRARY PARA A EXTERNAL PROCEDURE ----
> > 
> > 
> > CREATE OR REPLACE LIBRARY ldap_microsiga
> > AS 'C:\Component_dlls\LDAP\DllProtheus.dll';
> > 
> > 
> > ---- CRIACAO DA STORED PROCEDURE MAPEANDO PARA A FUNCAO NA DLL----
> > 
> > CREATE OR REPLACE PROCEDURE LDAPlps (
> >    IN_ID          IN  PLS_INTEGER, 
> >    IN_PARAM       IN  VARCHAR2,
> >    OUT_BUFFER     OUT VARCHAR2,
> >    IN_SIZE      IN  PLS_INTEGER) 
> > AS LANGUAGE C
> >    LIBRARY ldap_microsiga
> >    NAME "ExecInClientDLL"
> >    PARAMETERS (
> >       IN_ID INT , 
> >       IN_PARAM   STRING, 
> >       OUT_BUFFER BY REFERENCE STRING, 
> >       IN_SIZE    INT);
> > 
> > 
> > ---- SCRIPT CHAMANDO NO SQL*PLUS ----
> > 
> > DECLARE
> >    v_IN_ID        PLS_INTEGER:=1; 
> >    v_IN_PARAM     VARCHAR2(100):='mic1|-|[EMAIL PROTECTED]|-|MICROSIGA|-
> > |C:\Component_dlls\LDAP\MICROSIGA|-|[EMAIL PROTECTED]';
> >    v_OUT_BUFFER VARCHAR2(100);
> >    v_IN_SIZE    PLS_INTEGER:=50;
> >  
> > BEGIN
> >  
> > 
> >    LDAPlps(v_IN_ID, v_IN_PARAM, v_OUT_BUFFER, v_IN_SIZE);
> >    DBMS_OUTPUT.PUT_LINE('free disk space, megabytes = ' || 
> > v_OUT_BUFFER);
> > 
> > END;
> > 
> >  
> > 
> >  
> > Chamando a DLL por um EXE dá ok.
> > Chamando pelo Oracle dá o erro abaixo:
> > 
> > ORA-28576: lost RPC connection to external procedure agent
> > 
> > O tnsnames ,sqlnet e o listener já foram configurados e estão ok
> > mas continuo recebendo o erro acima.
> > 
> > 
> > obrigado.
> >
> 
> 
> 
> 
> 
> 
> 
>
--------------------------------------------------------------------------------------------------------------------------
> Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
>
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
> 
> Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine 
> __________________________________________________________________
> O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo,
tenha o link do mesmo para evitar trafego(pedidos) desnecessário. 
> 
> 
>   
> ---------------------------------
>   Links do Yahoo! Grupos
>     
>    Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/oracle_br/
>     
>    Para sair deste grupo, envie um e-mail para:
> [EMAIL PROTECTED]
>     
>    O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!. 
> 
> 
> 
> 
> Mauricio do C. Françoso 
> Liberty Paulista Seguros 
> Administrador Banco de Dados(DBA ORACLE)
> 
>             
> ---------------------------------
>  Yahoo! doce lar. Faça do Yahoo! sua homepage.
> 
> [As partes desta mensagem que não continham texto foram removidas]
>







--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 


  
---------------------------------
  Links do Yahoo! Grupos
    
   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/
    
   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
    
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 




Mauricio do C. Françoso 
Liberty Paulista Seguros 
Administrador Banco de Dados(DBA ORACLE)

                
---------------------------------
 Abra sua conta no Yahoo! Mail - 1GB de espaço, alertas de e-mail no celular e 
anti-spam realmente eficaz. 

[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a