Estou conseguindo acessar, ler, incluir, alterar e excluir nos 2 bancos através das libs da contrib.
Porém tenho notado que na minha máquina (Windows 7 Ultimate 64 bits) minha rotina de atualização (do DBF para o Postgre) funciona bem, mas no servidor (Windows 2003 32 bits) ela não completa, a execução pára durante um "SELECT" não apresentando erro algum.
Notei também, através do gerenciador de tarefas do Windows, que o tamanho em memória do meu executável vai crescendo a cada insert/update no Postgre (no Windows 2003 quando para está aproximadamente em 12MB, no Windows 7 no final chegou a mais de 500MB).
Abaixo um exemplo do código que estou usando para inserir dados no Postgre (está em um loop passando por todos os itens do meu DBF de produtos).
res := PQexec(nConexao, "BEGIN")
PQClear(res)
sqlConsulta := PQexec(nConexao, "SELECT id FROM produto WHERE id="+vProdId)
If (PQnTuples(sqlConsulta)=0)
sqlInsert := PQExec(nConexao, "INSERT INTO produto (id, descricao) VALUES (vProdId+", '"+vDescricao+"');")
If (PQresultstatus(sqlInsert)=7)
Alert(PQresultErrormessage(sqlInsert))
EndIf
Else
sqlInsert := PQExec(nConexao, "UPDATE produto set descricao='"+vDescricao+"' WHERE id="+vProdId+";")
If (PQresultstatus(sqlInsert)=7)
Alert(PQresultErrormessage(sqlInsert))
EndIf
EndIf
PQClear(sqlInsert)
PQClear(sqlConsulta)
res := PQExec(nConexao, "COMMIT")
PQClear(res)
Alguém pode me dar alguma dica se está certo e/ou como resolver este problema?
Se alguém tiver alguma documentação sobre também ajuda.
Grato,
Alexandre