Acessar Banco Oracle
Enviado: 28 Jul 2008 18:45
Pessoal,
Estou usando o exemplo abaixo para acessar tabelas do oracle, já consigo conectar e selecionar as tabelas.
O problema é o seguinte, tenho duas tabelas que estou fazendo um "join" e o resultado disto é +- 2000000 (dois milhões de registros)
Mas no laço "do while ! oRecordSet:Eof" só me retorna 1900 linhas. Tem que setar alguma variável? O que deve estar acontecendo?
Detalhe: quando eu faço um select count(*) das tabelas envolvidas, e exibo o resultado: "? oRecordSet:Fields(0):value" os 2000000 são exibidos!, mas no loop não mostra tudo somente 1900 linhas.
Estou usando o exemplo abaixo para acessar tabelas do oracle, já consigo conectar e selecionar as tabelas.
O problema é o seguinte, tenho duas tabelas que estou fazendo um "join" e o resultado disto é +- 2000000 (dois milhões de registros)
Mas no laço "do while ! oRecordSet:Eof" só me retorna 1900 linhas. Tem que setar alguma variável? O que deve estar acontecendo?
Detalhe: quando eu faço um select count(*) das tabelas envolvidas, e exibo o resultado: "? oRecordSet:Fields(0):value" os 2000000 são exibidos!, mas no loop não mostra tudo somente 1900 linhas.
Código: Selecionar todos
#include "ado.ch"
PROCEDURE Main()
Local i := 1
//Local oConnection := TOLEAUTO():New("adodb.connection")
//Local oRecordset := TOLEAUTO():New("adodb.recordset")
Local oConnection := CREATEOBJECT( "adodb.connection" )
Local oRecordset := CREATEOBJECT("adodb.recordset")
? "Connecting..."
oConnection:Open("Provider=OraOLEDB.Oracle;Data Source=OAIP;User ID=system;Password=filter88;")
? "Quering..."
oRecordSet:CursorType := adOpenForwardOnly
oRecordSet:ActiveConnection(oConnection)
oRecordSet:Source := "select v.codemp, e.nome from vendas v, empregados e where v.codemp = e.codemp"
oRecordSet:Open()
oRecordSet:MoveFirst()
do while ! oRecordSet:Eof
? oRecordSet:Fields(0):value
oRecordSet:Move(++i)
enddo
wait
RETURN