Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
19 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 19 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Enviar msg para WhatsAPP via VFP

7/2/2017, 10:31 por Eliana

Olá Pessoal!

Alguém sabe se é possível enviar mensagem para o WhatsAPP via VFP?


Grata


Comentários: 0

Tudo dá errado

3/2/2017, 16:50 por Douglas Pascini

Troquei de maquina, achei que seria uma boa, [Você precisa estar registrado e conectado para ver esta imagem.]  pois passei para uma maquina melhor.

Instalei o …

Comentários: 1

URGENTE - Instalação do aplicativo

24/1/2017, 08:51 por Douglas Pascini

Bom dia. Estou com um problema, ao fazer a instalação (colocar os arquivo) do aplicativo na …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 3

Estatísticas
Temos 7016 usuários registrados
O último usuário registrado atende pelo nome de Coronado

Os nossos membros postaram um total de 21 mensagens em 12 assuntos

CursorAdapter x BD online - se conexão cair

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Em curso CursorAdapter x BD online - se conexão cair

Mensagem por Paco Fox em 16/7/2014, 01:24

Olá pessoal.
Estamos nos aventurando numa migração do banco de dados nativo dbf para o Postgre, indo pelo caminho de criar a conexão do Bd no Dataenvironment do Formulário e usar esta conexão nos CursorAdapter usando "dataenvironment Data Source”, assim temos uma única conexão para todos os CursorAdapters do formulário.
Criamos os CursorAdapters com o Builder.
O que precebemos é que se estamos com um bd online e a conexão com o Bd cai por timeout, ao tentar gravar os dados do CursorAdapter para o BD Postgre, dá a MENSAGEM: Connectivity error: Unable to retrieve specific error information. Driver is probably out of resources.
Logicamente esta mensagem de erro é porque a conexão com o BD caiu.
Alguém tem alguma dica de como verificar e reviver esta conexão com o BD no dataenvironment, sem perder os dados do CursorAdapter?
Se alguém usa o BD Mysql ou Postgre online, numa hospedagem, sendo acessado por um sistema VFP que roda na estação local, vocês abrem e fecham a conexão com o Bd a cada operação? Como fazem? Alguma dica?

Paco Fox
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Em curso Re: CursorAdapter x BD online - se conexão cair

Mensagem por Nelson Arcas em 22/7/2014, 21:38

Paco, o que o pessoal costuma fazer muito é apos abrir os cursores e fechar a conexão e apos se precisar realizar alguma transação abre a conexão novamente, terminou fecha novamente, principalmente pelo motivo de alguns provedores limitarem a conexão com o banco de dados, hoje em VFP tenho ainda tudo em tabela nativa, mas participo de outros projetos em outras linguagens que os componentes realizam este processo.

Não tenho nenhum exemplo pratico para mandar agora, mas pelo que pesquisei o pessoal trabalha dessa maneira.

Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: CursorAdapter x BD online - se conexão cair

Mensagem por Paco Fox em 26/7/2014, 00:58

Nelson, a idéia é esta mesmo que você tão bem descreveu, mas ainda não encontrei um exemplo prático. Mas acredito também que o caminho é este de abrir a conexão, realizar a transação com o BD e fechá-la novamente.
Se alguém já trabalha assim, qualquer dica é muito bem-vinda.

Paco Fox
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Em curso Re: CursorAdapter x BD online - se conexão cair

Mensagem por Nelson Arcas em 28/7/2014, 11:10

Veja se ajuda a rotina que fiz na época para um projeto com MySQL estarei separando conforme os programas de exemplo

prgprincipal.prg

Código:


**** Variáveis Públicas *****
PUBLIC p_diretoriutilitario && Diretório de utilitario do sistema
PUBLIC p_cstringconexao && String de conexao com o banco de dados
PUBLIC p_nconexaobanco && Número de conexao com o banco de dados

** Atribuições das variáveis
p_diretoriutilitario = '' && Diretório de utilitario do sistema
p_cstringconexao = '' && String de conexao com o banco de dados
p_nconexaobanco = 0 && Número de conexao com o banco de dados


** Diretório de utilitário do sistema
p_diretoriutilitario = SYS(5)+SYS(2003)+'\util\'

*** Atribuir string de conexão para variável ***
p_cstringconexao = ALLTRIM(FILETOSTR(p_diretoriutilitario+'conexoes\bancopadrao.txt'))


*********************************************************
** Função para conexão com o Banco de dados *
** p_numeroconexao -> Número da conexão ativa *
** lretorno -> Retorna validação do EMAIL *
*********************************************************

FUNCTION f_bancoabreconexao
 LOCAL lnconexao, lnbancofechaconexao, lnbancoabreconexao

 ** Variável com o número da conexão
 lnconexao = 0

 *** Verifica se existe uma conexão ativa
 IF p_nconexaobanco > 0

 ** Força o fechamento da conexão ativa
 lnbancofechaconexao = f_bancofechaconexao()

 ENDIF

 *** Efetua a conexão com o banco de dados
 STORE SQLSTRINGCONNECT(p_cstringconexao) TO lnconexao

 ** Atribui o número da conexão para variável pública
 p_nconexaobanco = lnconexao

 RETURN (lnconexao)
ENDFUNC

*********************************************************
** Função para fechar conexão com o Banco de dados *
** lretorno -> Retorna fechamento da conexão *
*********************************************************

FUNCTION f_bancofechaconexao
 LOCAL lretorno

 *** Atribuir valor para váriavel de retorno
 lretorno = 1

 ** Verifica se existe uma conexão ativa
 IF p_nconexaobanco > 0

 ** Força o fechamento da conexão
 lnbancofechaconexao = SQLDISCONNECT(p_nconexaobanco)

 ** Atribui o valor zero da conexão
 IF lnbancofechaconexao > 0
 p_nconexaobanco=0
 ENDIF

 ENDIF

 ** Retorno a situação sobre o fechamento da conexão
 RETURN (lretorno)
ENDFUNC


Formulario de cadastro:
Criei um método chamado abre_arquivos que chamo no evento load abaixo um código de exemplo, porem sem validações de erros
Código:

LOCAL lccomando
lcccomando=''

*** Verifica se a conexão está ativa
IF p_nconexaobanco <=0
   ** Abre conexão com o banco de dados
   p_nconexaobanco = f_bancoabreconexao()

ENDIF

IF p_nconexaobanco > 0

   lccomando = [SELECT curso_id, cursoresumido,CASE cursosituacao when 1 then 'ATIVO' when 2 then 'SUSPENSO' else 'INATIVO' end as situacao From curso]


   =SQLEXEC(p_nconexaobanco,lccomando,"CRLista")>0
   SELECT crlista
   INDEX ON ALLTRIM(cursoresumido) TAG resumido ADDITIVE


   *** Abre o arquivo turma

   lccomando = [SELECT turma_id, turmaresumido,CASE turmasituacao when 1 then 'ATIVO' when 2 then 'SUSPENSO' else 'INATIVO' end as situacao From turma]

   =SQLEXEC(p_nconexaobanco,lccomando,"CRturma")>0


   ** Fecha conexão com o banco de dados
   IF p_nconexaobanco > 0
      =f_bancofechaconexao()
   ENDIF


ENDIF


Agora um exemplo para salvar o registro no banco utilizando um metodo que criei no form salvaregistro

Código:


LOCAL lccomando AS LONG, lctabela, lnresultado, lnretornoid
lctabela   =   "turma"
lccomando   =   ""

*** Verifica se a conexão está ativa
IF p_nconexaobanco <=0
   ** Abre conexão com o banco de dados
   p_nconexaobanco = f_bancoabreconexao()

ENDIF


*** Grava o arquivo turma

TEXT TO lccomando ADDITIVE TEXTMERGE NOSHOW PRETEXT 1+2+4

INSERT INTO <<lctabela>> (
                     turmasituacao,
                     turmadata,
                     turmacodigo,
                     turmaresumido
                     )
                  values
                     (
                     <<ALLTRIM(STR(thisform.cmbturmasituacao.Value))>>,
                     now(),
                     0,
                     '<<ALLTRIM(thisform.txtturmaresumido.Value)>>'
                     )
ENDTEXT

=SQLEXEC(p_nconexaobanco,lccomando)

   ** Fecha conexão com o banco de dados
   IF p_nconexaobanco > 0
      =f_bancofechaconexao()
   ENDIF


Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum