RECEBER TIPO CLOB DO ORACLE NA MINHA APLICACAO VB
Fala galera, preciso de uma ajuda, tenho uma função no banco oracle, que retorna um CLOB. Como posso carregar esse retorno em um Recordset?
Segue o código da minha aplicação:
[txt-color=#0000f0]Dim OraSession As OracleInProcServer.OraSessionClass
Dim OraDatabase As OracleInProcServer.OraDatabase
--------------------------------------------------------------------------------------
Set OraSession = CreateObject([Ô]OracleInProcServer.XOraSession[Ô])
userPass = [Ô]USERS/PASS[Ô]
Set OraDatabase = OraSession.OpenDatabase([Ô]MEUBANCO[Ô], userPass, 1)
Call ConCaucao(OraDatabase)
Set OraDatabase = Nothing
-------------------------------------------------------------------------------------------------------------------------------------------------------
Public Function ConCaucao(ByRef cConexao As OracleInProcServer.OraDatabase)
Dim OraDynaset As OracleInProcServer.OraDynaset
Set OraDynaset = OraDatabase.DbCreateDynaset([Ô]Select NGF.consulta([ô]409[ô], [ô]21[ô]) FROM dual[Ô])
With OraDynaset
If .RecordCount > 0 Then
.MoveFirst
While (Not .EOF Or .BOF)
MsgBox [Ô]OK!!![Ô]
.MoveNext
Wend
End If
End With
Set OraDynaset = Nothing
End Function[/txt-color]
Segue o código da minha aplicação:
[txt-color=#0000f0]Dim OraSession As OracleInProcServer.OraSessionClass
Dim OraDatabase As OracleInProcServer.OraDatabase
--------------------------------------------------------------------------------------
Set OraSession = CreateObject([Ô]OracleInProcServer.XOraSession[Ô])
userPass = [Ô]USERS/PASS[Ô]
Set OraDatabase = OraSession.OpenDatabase([Ô]MEUBANCO[Ô], userPass, 1)
Call ConCaucao(OraDatabase)
Set OraDatabase = Nothing
-------------------------------------------------------------------------------------------------------------------------------------------------------
Public Function ConCaucao(ByRef cConexao As OracleInProcServer.OraDatabase)
Dim OraDynaset As OracleInProcServer.OraDynaset
Set OraDynaset = OraDatabase.DbCreateDynaset([Ô]Select NGF.consulta([ô]409[ô], [ô]21[ô]) FROM dual[Ô])
With OraDynaset
If .RecordCount > 0 Then
.MoveFirst
While (Not .EOF Or .BOF)
MsgBox [Ô]OK!!![Ô]
.MoveNext
Wend
End If
End With
Set OraDynaset = Nothing
End Function[/txt-color]
Amigo, não sei se com Dynaset vai conseguir... mas com datareader é baba...
Kerplunk como eu faria isso? vc teria um exemplo para me ajudar?
Obrigado!
Obrigado!
Pensei que fosse .NET, mas VB6 tb dá...
Este exemplo mostra como fazer. Ele pega o conteúdo do CLOB e grava direto num arquivo. Lógico que vc pode simplesmente jogar esse conteúdo em uma textbox por exemplo, vai depender do que o CLOB contém.
Este exemplo mostra como fazer. Ele pega o conteúdo do CLOB e grava direto num arquivo. Lógico que vc pode simplesmente jogar esse conteúdo em uma textbox por exemplo, vai depender do que o CLOB contém.
KERPLUNK, vlw pela ajuda, mas ainda continua o problema que eu tinha nos códigos anteriores (Segue no Anexo)...
Vc já viu esse erro antes?
Vc já viu esse erro antes?
Não... mas em que linha especificamente está apresentando o erro?
[txt-color=#0000f0]Set OraDynaset = OraDatabase.DbCreateDynaset([Ô]Select NGF.consulta([ô]409[ô], [ô]21[ô]) FROM dual[Ô])[/txt-color]
Quando ele deveria receber o retorno, estoura esse erro na tela
Quando ele deveria receber o retorno, estoura esse erro na tela
Verifique qual o tipo de retorno dessa function... acho que tem dados binários no campo e vc está retornando como char...
Ele retorna um Cursor
Com um CLOB
Ai dentro do CLOB tem esse XML
Tópico encerrado , respostas não são mais permitidas