Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
A respeito de lentidão em rede.
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00792165
Message ID:
00795329
Vues:
38
Oi, Fabiano.

Copie o bloco luminoso, cole no VFP e execute pra ver o que estou tentando falar.
If !Directory("C:\TESTES\THREAD792165")
  MkDir C:\TESTES\THREAD792165
  Create Database C:\TESTES\THREAD792165\Nomes
  Create table C:\TESTES\THREAD792165\Nomes (I_Codigo I, C_Nome C(20))
  For I = 1 to 10
    lcC = Iif(I = 1, "Adao", Iif(I = 2, "Jose", Iif(I = 3, "Joao", Iif(I = 4, "Carlos",;
          Iif(I = 5, "Amadeu", Iif(I = 6, "Sampaio", Iif(I = 7, "Lopes",;
          Iif(I = 8, "Geraldo", Iif(I = 9, "Marcia", "Telma")))))))))
    For J = 1 to 10
      lcNome = lcC + " - Teste" + (Alltrim(Str(I)))
      Insert into C:\TESTES\THREAD792165\Nomes (I_Codigo, C_Nome) values (Reccount("Nomes") + 1, lcNome)
    EndFor  
  EndFor  
EndIf
*********************************************************************************
Close Databases All
Set 
If MessageBox("Utilizar SQL Pass Through?", 4+32, "Opção") = 6
  * Observe em "Data Session" que aparece somente o cursor curNomes com os dados que realmente quero.
  * A tabela Nomes NÃO passa inteira pela rede. 
  lcString = "Select * from Nomes where C_Nome like 'G%'"
  lcBanco  = "C:\TESTES\THREAD792165\Nomes.DBC"
  liCon    = Sqlstringconnect("Driver={Microsoft Visual FoxPro Driver};UID=;PWD=;SourceDB=" + ;
            lcBanco + ";SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes")
  SQLEXEC(liCon, lcString, "curNomes")
  SQLDisconnect(liCon)
Else
 * Observe em "Data Session" que aparece o cursor curNomes com os dados que realmente quero,
 * mas aparece, também, toda a tabela Nomes com todos os dados que não me interessam. 
 * A tabela Nomes inteira passou pela rede sendo que eu não queria todos os dados dela.
 Select * from C:\TESTES\THREAD792165\Nomes where C_Nome like 'G%' into cursor curNomes
EndIf
Se você adicionar um contador no Windows2000 pra ver a quantidade de dados que passam pela rede
verá, no gráfico, que sem utilizar SQL Pass Through o volume de dados que passam pela rede
vai lá em cima; utilizando SQL Pass Through verá que o volume de dados ficará lá embaixo.

Gostaria que alguém confirmasse pra mim se isso é feito através do driver ODBC, pois não
tenho certeza ainda se para utilizar SQL Pass Through é necessário ter driver ODBC instalado.
Agora quanto a passar a tabela intera ou não pela rede isso já testei.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform