Tenho um sistema funcionando em uma rede com Win7!
De uma hora para outra começou dar este erro em uma rotina minha que atualiza o arquivo de bancos.
O problema que qdo executo esta rotina em outro micro (terminais) não da erro nenhum, mas no servidor dá este erro.
Alguem por favor, pelo amor de deus, sabe como resolver este problema!!! Desde ja muito obrigado!!!
Em Cristo!
Rone - Itajubá(MG)
xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 7.12 + xDevStudio
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
Nota de Moderação: por Pablo César: Texto reditado por conter frase como socorro (item 8 da regra geral do fórum)
Editado pela última vez por Pablo César em 01 Mar 2011 20:19, em um total de 2 vezes.
Razão:Mensagem editada para formatação de texto em letras minúsculas. Evite postar mensagens com texto TOTALMENTE EM LETRAS MAIÚSCULAS.<br>Veja as Regras do Fórum:<br>7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio.
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
Rone, esse erro acostuma ser quando o dbf foi tentado abrir duas vezes.
Uma pergunta: você consegue rodar seu aplicativo em Clipper 16 bits em Win 7 normal ? Você está utilizando algum emulador ? Pergunto isto porque estamos na seção Clipper, apesar da sua assinatura indicar que usa xHarbour...
Seria interessante postar trecho do seu código principalmente na linha onde está dando esse erro.
Outra coisa, seria conveniente que o seu ultimo texto o coloque no seu perfil na seção de assinatura no painel de usuário, assim não terá que repetir o texto e economizar bytes, ok ?
Um clip-abraço !
Pablo César Arrascaeta Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Desculpa pela nota de rodapé, foi um engano... o sistema é mesmo em clipper 5.2e!!!
Quanto a sua pergunta!!! uso normalmente o clipper 16bits no win7 sem emulador...
No caso deste meu erro, é o seguinte: tenho uma função para abrir o arquivo:
Function Sel(cDBF, OrdemNum, CreateNTX)
**
**
If Select(cDBF) > 0
Select Select(cDBF)
Else
DbUseArea(...
...
..
..
End
**
**
O problema que no micro onde é o servidor dos dados, dá este erro, como se a funcao nao detecta o alias aberto ai tenta abrir o arquivo e da o erro...
mas se vou no terminal, e executo exatamente a mesma coisa, dá certo...
**
parece que o problema é algo no micro, nao sei se o win7, se o dos, o que é, estou totalmente perdido...
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
mas se vou no terminal, e executo exatamente a mesma coisa, dá certo...
**
parece que o problema é algo no micro, nao sei se o win7
Tá parecendo que no Win7 não consegue abrir corretmente, não sei se isso é possível... Qual seria a sua configuração de ambiente nesse servidor ? Não sei se aplica-se o "FILES=" (do config) ou as variáveis de ambiente não estejam sendo definidas.
Perguntei sobre aplicação Clipper em 16bits no Win7 ora porque os colegas tem manifestado alguns inconvenientes em 64 bits. Talvez seja questão de recompilar em [x]Harbour para ficar em 32 bits. Experimente.
Um clip-abraço !
Pablo César Arrascaeta Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo! Esta rotina já est funcionando os 5 anos no cliente, funciona com WinXp, ai trocou o micro passo a usar Win7 as 2 anos, mas nao mudou nada, sempre funcionou... agora uns 5 dias atrás o cliente me ligou relatando este erro...
quanto ao files, estou usando no config.nt files=200, como ja usava no winxp.
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
Desculpe Rone, se eu estou parecendo insistente. Mas acredito que é sempre assim para conseguir algo nesta vida, não é ?. Então permita-me perguntar-lhe mais alguns detalhes que possam levar alguma conclusão:
- Sabe se é sempre o mesmo dbf ? Sabe o nome do dbf que está dando erro nesse servidor ?
- Outra aplicação Clipper com manipulação de escrita em dbfs foi testada nesse servidor ?
Sugiro você debugar e ver as áreas que foram abertas e de passo verifique se o cdbf incide na mudança equívoca do nome do dbf naquele servidor.
É um caso raro e só é possivel detectar debugando no local, pois se existe uma rotina de verificação de abertura de dbfs, então não deveria dar isso. Nunca ví. Mas faça isso e nos retorne.
Um clip-abraço !
Pablo César Arrascaeta Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Sabe se é sempre o mesmo dbf ? Sabe o nome do dbf que está dando erro nesse servidor ? é sempre no arquivo: Banco1, Banco2, Banco3, Banco4, Banco5
e em qualquer modulo do programa que tenta abrir estes arquivos da este erro
- Outra aplicação Clipper com manipulação de escrita em dbfs foi testada nesse servidor ? não!
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
Pablo César escreveu:- Outra aplicação Clipper com manipulação de escrita em dbfs foi testada nesse servidor ?
Rone escreveu:não!
Então: faça um teste simples e de preferência com opção /B para poder debugar, ok ?
Um clip-abraço !
Pablo César Arrascaeta Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo!!!
Eu suspeito que seja algo neste micro apenas, e não na rotina do programa, já que este ja funciona sem problema alguns anos, e agora veio dar este problema em apenas um micro.
Será que algo no win7?
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
Claro, só pode ser ou até então pode ser configuração de ambiente.. Hardware não faz isso. Sabe usar o debugger ? O CLD do Clipper ? Tem tópico abordando. Mas tente, claro que terá que abrir em looping, isto é simulando que entrou, saiu e retornou para saber se vai abrir adequadamente. Quem sabe o SO esteja colocando com atributo que não dê acesso ao dbf como deveria (isso é suposição, é claro). De se tratar Win7, aqui acho que ninguém usa Clipper... por isso achei estranho. Eu lembro em Vista tentei rodar a minha aplicação e não foi tudo como eu queria... mas Vista é uma caca de SO.
Um clip-abraço !
Pablo César Arrascaeta Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Talvez, se você postasse o código da Function Sel(cDBF, OrdemNum, CreateNTX) e tambem um trecho onde abre os arquivos (esse DBUseArea()), ficasse mais fácil descobrir o problema.
Pelo que entendi, o servidor é Win7. Foi feita alguma atualização recente no SO do servidor? As estações onde não ocorre o problema são Win7?
Pessoal muito obgdo mesmo pela ajuda de vcs!!!
Mas estou mesmo convencido que não é na rotina do programa, senão não funcionaria em outra maquina e em rede ainda.
Então penso que a solução é mudar o programa de maquina já que onde da o problema é o servidor, e formatar instalar o win7 novamente
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
Pessoal consegui descobri onde é o problema, mas so resolvi parcialmente....
O problema esta em: na função ADIR(...) ela deveria me retornar um vetor com 5 bancos, mas esta me retornando 10, repetindo os mesmos 5 arquivos iniciais...
aBancos = {"Banco1","Banco2","Banco3","Banco4","Banco5",;
{"Banco1","Banco2","Banco3","Banco4","Banco5"}
DECLARE aBancos[ADIR("DBF\Banco??.DBF")]
ADIR("DBF\Banco??.DBF",aBancos)
*
For nBaCont = 1 To Len(aBancos)
*
noArq := SubStr(ALLTRIM(UPPER(aBancos[nBaCont])),1,AT('.',ALLTRIM(UPPER(aBancos[nBaCont])))-1)
*
Do Case
Case Dbf==noArq
OpenDbf('DBF\'+noArq)
cNtx1 := 'Ntx\Banco1'+AllTrim(Str(nBaCont))
If CreateNtx
If !File(cNtx1)
Index On BA_DATADOC To &cNtx1
End
End
cNtx2 := 'Ntx\Banco2'+AllTrim(Str(nBaCont))
If CreateNtx
If !File(cNtx2)
Index On BA_NUMCONT To &cNtx2
EndIf
EndIf
Endcase
ALGUEM SABE O PORQUE DISTO???? lembrando que acontece apenas em um micro na rede.
Editado pela última vez por Pablo César em 02 Mar 2011 09:53, em um total de 1 vez.
Razão:Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)
Pessoal consegui descobri onde é o problema, mas so resolvi parcialmente....
Quê bom! E eu não disse que deverias ver o cDbf e debugar o sistema pra ver ? Cómo foi que você percebeu ?
Veja você está utilizando o ADIR() e essa função tem tudo a ver com a inteiração com o SO, talvez o WIN7 tenha algum bug de interpretação na emulação do DOS para rodar seu programa. Experimente mudar para:
aTEMP=DIRECTORY("BANCO*.DBF")
aFiles:={}
FOR I=1 TO LEN(VTEMP)
IF ASCAN(aFiles,aTEMP[I,1])=0
// noArq := SubStr(ALLTRIM(UPPER(aBancos[nBaCont])),1,AT('.',ALLTRIM(UPPER(aBancos[nBaCont])))-1)
AADD(aFiles,aTEMP[I,1])
ENDIF
NEXT
RELEASE aTEMP
Com certeza os nomes dos dbfs não irão repetir-se !
Inclusive a variável noArq você pode iserir no momento do AADD. Mas tem alguma razão para vocÊ excluir a extensão no nome do arquivo ? Pois não há necessidade excluir extensão para abrir dbfs desde que a variável noArq não seja utilizada para outra coisa...
Um clip-abraço !
Pablo César Arrascaeta Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo!!! Eu usava ADIR() ai troquei para aDirectory() mas retorna o mesmo vetor (os mesmo arquivos duplicados)... interessante o seguinte
Eu tenho seguinte arquivos para retornar : Banco1, Banco2, Banco3, Banco4, Banco5, Bancos
d:\prg\COUNTRY\DBF>attrib banco??.dbf
A D:\prg\COUNTRY\DBF\BANCO1.DBF
A D:\prg\COUNTRY\DBF\BANCO2.DBF
A D:\prg\COUNTRY\DBF\BANCO3.DBF
A D:\prg\COUNTRY\DBF\BANCO4.DBF
A D:\prg\COUNTRY\DBF\BANCO5.DBF
A D:\prg\COUNTRY\DBF\BANCOS.DBF
Em Cristo!
Rone - Itajubá(MG)
Clipper 5.2e + Blinker/Exospace
A pessoa que pensa que sabe alguma coisa, ainda não tem a sabedoria que precisa. (1 Cor 8, 2)