Se estiver dessa forma DataPath = C:\ESTOQUE\, então apenas use:
USE PRODUTOS.DBF EXCLUSIVE
Moderador: Moderadores
USE PRODUTOS.DBF EXCLUSIVE
Porter, como está definido o comando DataPath = em seu arquivo letodb.ini?
Se estiver dessa forma DataPath = C:\ESTOQUE\, então apenas use:
Não sei dizer sobre arquivos temporários, eu não uso.porter escreveu:Eu uso arquivos temporários
As estações trabalham com arquivos independentes da rede? Desculpe mas não entendi.porter escreveu:esses arquivos existem tanto nas estações como no servidor
Você terá que diferenciar arquivo que está local ou no servidor. Tem como, e falaremos sobre isso depois se você postar um trecho de código que um arquivo que tem que ser aberto na máquina local, e não no servidor. Tenho esse situação, tenha paciência para podermos ajudar. Poste um exemplo dessa situação e como você está tratando isso.porter escreveu: se abrir o arquivo dessa forma: USE PRODUTOS.DBF EXCLUSIVE,
como o sistema vai saber se é para abrir o arquivo que está no computador local no C:\ESTOQUE
Putz, acho que entendi. Abrir arquivo localmente é uma coisa, abrir no servidor é automático. Poste um exemplo que fica mais fácil explicar.porter escreveu:existem arquivos que preciso abri-lo localmente no C:\ESTOQUE e outros no F:\ESTOQUE, entendeu.
Isso é definido no arquivo letodb.ini, definindo no comando Default_Driver = CDX ou NTX. Exemplo: Default_Driver = CDXasimoes escreveu:No final coloque VIA "DBFCDX" ou "DBFNTX" para temporários local
Sim. Quando mudei para o RDD LETO, também alterei todos os comandos USE, que eram poucos por esse como está no exemplo do Toledo:asimoes escreveu:A cláusula VIA é para informar qual RDD deseja utilizar,
LETO, DBFCDX ou DBFNTX
DbUseArea( .T., "LETO", PathLeto + cArqDbf, cAlias, .T. )Sintaxe:
DbUseArea( [<lNewArea>] , [<cRddName>] , <cDatabase> , [<cAlias>] , [<lShared>] , [<lReadonly>] , [<cCodePage>] , [<nConnection>] ) --> NIL<lNewArea>
Putz, acho que entendi. Abrir arquivo localmente é uma coisa, abrir no servidor é automático. Poste um exemplo que fica mais fácil explicar.
SELECT 2
USE C:\ESTOQUE\ARQTEMP EXCLUSIVE
APPEND BLANK
REPLACE CODIGO WITH cCODIGO
REPLACE DESCRICAO WITH cDESCRICAO
REPLACE VALOR WITH cVALOR
SELECT 3
USE F:\ESTOQUE\VENDAS SHARED
SELECT 2 ; GOTO TOP
DO WHILE !EOF()
cCODIGO := CODIGO
cDESCRICAO := DESCRICAO
cVALOR := VALOR
SELECT 3
APPEND BLANK
REPLACE CODIGO WITH cCODIGO
REPLACE DESCRICAO WITH cDESCRICAO
REPLACE VALOR WITH cVALOR
SELECT 2
SKIP
ENDDO
SELECT 2
DELE ALL ; PACK
REQUEST LETO
REQUEST DBFCDX
Function Main()
...
...
RDDSetDefault( "LETO" )
SELECT 2
//USE C:\ESTOQUE\ARQTEMP EXCLUSIVE
DbUseArea( .F., "DBFCDX", "C:\ESTOQUE\ARQTEMP", "ARQTEMP", .F. )
APPEND BLANK
REPLACE CODIGO WITH cCODIGO
REPLACE DESCRICAO WITH cDESCRICAO
REPLACE VALOR WITH cVALOR
SELECT 3
//USE F:\ESTOQUE\VENDAS SHARED
// se na variavel DataPath de seu letodb.ini terminar com barra (\) use:
DbUseArea( .F., "LETO", "VENDAS", "VENDAS", .T. )
// se na variavel DataPath de seu letodb.ini estiver sem a barra no final use:
//DbUseArea( .F., "LETO", "\VENDAS", "VENDAS", .T. )
SELECT 2 ; GOTO TOP
DO WHILE !EOF()
cCODIGO := CODIGO
cDESCRICAO := DESCRICAO
cVALOR := VALOR
SELECT 3
APPEND BLANK
REPLACE CODIGO WITH cCODIGO
REPLACE DESCRICAO WITH cDESCRICAO
REPLACE VALOR WITH cVALOR
SELECT 2
SKIP
ENDDO
SELECT 2
ZAP
banco de dados danifica menos e os índices corrompem menos também quando ocorre por exemplo um pique de luz.
E parece que também à um ganho de velocidade na operações e outros benefícios tipo, acesso remoto/local via TcpIP, etc...
Seria isto ?
cPath := "//192.168.0.202:2812/
PROCEDURE ConectaLetoDbf(cPath)
nConect := leto_Connect( cPath)
// Faz o teste de conexao
IF nConect == -1
SetColor( "GR+/B" )
CLS
nRes := leto_Connect_Err()
IF nRes == LETO_ERR_LOGIN
alert( "Falha ao Logar" )
ELSEIF nRes == LETO_ERR_RECV
alert( "Error ao conectar" )
ELSEIF nRes == LETO_ERR_SEND
alert( "Erro de envio" )
ELSE
MsgExclamation( "Nao conectado ao servidor: " + cPath )
ENDIF
Return .F.
ENDIF
Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes