Boa Tarde a todos! Pessoal, estou com um problema e gostaria se possível da ajuda de vocês. Preciso so Progress, fazer uma conexão com um banco Oracle para realizar um consulta apenas. Preciso fazer isto sem utilizar Dataserver for Oracle ou schema holder. Sabem se é possível? Se sim, sabem como fazer isto na pratica? Achei uma informação no tópico viewtopic.php?f=12&t=2410&p=7715 , mas la não descreve a forma como esta conexão é feita. Desde já muito obrigado a todos!!!
Bom Dia, Pessoal, consegui a solucionar a questão que eu havia perguntado acima. Com base em uns exemplos de conexão com o SQL Server utilizando componentes ADO e uma KB do Progress, cheguei a uma solução. Segue abaixo o código e quem precisar de mais informações o KB P116614 do ProKB ou o link da web direto para ele http://progress.atgnow.com/esprogress/j ... ue=p116614 . Código: /* Conexão com o Oracle */ DEFINE VARIABLE ObjConnection AS COM-HANDLE NO-UNDO. DEFINE VARIABLE ObjCommand AS COM-HANDLE NO-UNDO. DEFINE VARIABLE ObjRecordSet AS COM-HANDLE NO-UNDO. DEFINE VARIABLE ODBC-DSN AS CHARACTER NO-UNDO. DEFINE VARIABLE ODBC-SERVER AS CHARACTER NO-UNDO. DEFINE VARIABLE ODBC-USERID AS CHARACTER NO-UNDO. DEFINE VARIABLE ODBC-PASSWD AS CHARACTER NO-UNDO. DEFINE VARIABLE ODBC-QUERY AS CHARACTER NO-UNDO. DEFINE VARIABLE ODBC-STATUS AS CHARACTER NO-UNDO. DEFINE VARIABLE ODBC-NULL AS CHARACTER NO-UNDO. DEFINE VARIABLE ODBC-RECCOUNT AS INTEGER NO-UNDO. DEFINE VARIABLE ODBC-CURSOR AS INTEGER NO-UNDO. ASSIGN ODBC-DSN = "nome_do_odbc" /* Oracle ODBC DSN */ ODBC-SERVER = "localhost" /* The name of the server hosting the Oracle DB and DSN */ ODBC-USERID = "usuario_oracle" /* The user id for access to the OracleDatabase */ ODBC-PASSWD = "senha_oracle" /* Password required by above user-id */ ODBC-QUERY = "select QTDE from vw_saldo_estoque_htl v where v.CD_PRODUTO = '000000001'". /* Select */ CREATE "ADODB.Connection" ObjConnection. /* Create the connection object for the link to Oracle */ CREATE "ADODB.RecordSet" ObjRecordSet. /* Create a recordset object ready to return the data */ CREATE "ADODB.Command" ObjCommand. /* Create a command object for sending the SQL statement */ ObjConnection:OPEN ("data source=" + ODBC-DSN + ";server=" + ODBC-SERVER, ODBC-USERID, ODBC-PASSWD, 0) NO-ERROR. IF (ERROR-STATUS:NUM-MESSAGES > 0) THEN DO: ODBC-STATUS = "Error: Could not establish connection.". RETURN. END. ELSE DO: /* informações em http://www.w3schools.com/ado/prop_comm_commandtype.asp */ ObjCommand:ActiveConnection = ObjConnection. ObjCommand:CommandType = 1. /* adCmdText */ ObjCommand:CommandText = ODBC-QUERY. ObjConnection:CursorLocation = 3. /* adUseClient */ ObjRecordSet:CursorType = 3. /* adOpenStatic */ ObjRecordSet = ObjCommand:Execute(OUTPUT ODBC-NULL, "", 32). ODBC-RECCOUNT = ObjRecordSet:RecordCount. ODBC-CURSOR = 0. /* Retorno do select */ MESSAGE ObjRecordSet:FIELDS ("qtde"):VALUE VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. END. Vlw!