Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  Conectare la SQ...
 Conectare la SQL prin internet
 
 10/4/2011 11:33:52 AM
User is offlinegalex014
98 posts


Conectare la SQL prin internet
 (N/A)
Am un punct de lucru cu adresa de IP publica si instalat SQL server pe acest punct. Problema este : Cum accesez bazele de date de pe acest punct de lucru din aplicatie Fox prin intermediul Internetului ??
 10/4/2011 12:07:44 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Conectare la SQL prin internet
 (N/A)
Internetul este o retea ca oricare alta. Altfel spus, accesezi sql serverul cu adresa ip, exact ca intr-o retea locala.

lcSQLString = "Data Source=myServerAddress,myPort;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"

Valoarea implicita pentru myPort este 1433 (portul standard al lui SQL Server). Daca e modificat, il specifici; daca nu, poti sa scoti complet portul din string.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 10/4/2011 10:12:00 PM
User is offlinegalex014
98 posts


Re: Conectare la SQL prin internet
 (N/A)
Multumesc !
 11/24/2011 7:54:40 AM
User is offlinegabirom
34 posts


Re: Conectare la SQL prin internet
 (N/A)
 Grigore Dolghin wrote
Internetul este o retea ca oricare alta. Altfel spus, accesezi sql serverul cu adresa ip, exact ca intr-o retea locala.

lcSQLString = "Data Source=myServerAddress,myPort;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"

Valoarea implicita pentru myPort este 1433 (portul standard al lui SQL Server). Daca e modificat, il specifici; daca nu, poti sa scoti complet portul din string.

Care este metoda corecta pentru a accesa un server de internet via sql ?? Direct ..prin port 1433 ?? sau folosind o aplicatie intermediara instalata pe aceasi server ?? (gen server de php asp )??

 11/25/2011 8:19:32 AM
User is offlineaflorin
840 posts
1st


Re: Conectare la SQL prin internet
 (N/A)
 gabirom wrote
Care este metoda corecta pentru a accesa un server de internet via sql ??

Depinde ce intelegi prin accesare si prin server de internet. In discutia de mai sus era vorba de conectarea la un server de MSSQL.

Florin Aparaschivei - Iasi
 11/25/2011 8:44:00 AM
User is offlinegabirom
34 posts


Re: Conectare la SQL prin internet
 (N/A)
 aflorin wrote
 gabirom wrote
Care este metoda corecta pentru a accesa un server de internet via sql ??

Depinde ce intelegi prin accesare si prin server de internet. In discutia de mai sus era vorba de conectarea la un server de MSSQL.


Da la un server de mssql .. dar am o aplicatie care emite facturi (cu gestionare de stoc) .. si unul din punctele de lucru lucreaza mobil .. pe vodafone ..
Imi e teama de ce se poate intampla daca ii cade netul in timp ce emite o factura ..
Recunosc ca nu sunt expert in utilizarea serverelor de sql ..
Asa cu o aplicatie intermediara .. eu ii trimit fisiere xml (cu datele+comanda de executat) si chiar daca moare netul .. el executa pana la final ce i-am dat sa faca .
Eventual daca nu primeste o comanda de finalizare .. sa poata sa faca rollback ..

 11/25/2011 9:31:10 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Conectare la SQL prin internet
 (N/A)
 gabirom wrote
 aflorin wrote
 gabirom wrote
Care este metoda corecta pentru a accesa un server de internet via sql ??

Depinde ce intelegi prin accesare si prin server de internet. In discutia de mai sus era vorba de conectarea la un server de MSSQL.


Da la un server de mssql .. dar am o aplicatie care emite facturi (cu gestionare de stoc) .. si unul din punctele de lucru lucreaza mobil .. pe vodafone ..
Imi e teama de ce se poate intampla daca ii cade netul in timp ce emite o factura ..
Recunosc ca nu sunt expert in utilizarea serverelor de sql ..
Asa cu o aplicatie intermediara .. eu ii trimit fisiere xml (cu datele+comanda de executat) si chiar daca moare netul .. el executa pana la final ce i-am dat sa faca .
Eventual daca nu primeste o comanda de finalizare .. sa poata sa faca rollback ..



Pentru asta exista buffering si tranzactii, nu este nevoie sa inventezi alte metode.
Buffering, pentru a lucra pe o copie locala, si a nu pierde datele in cazul deconectarii.
Tranzactiile, pentru a salva totul - atat headerul cat si pozitiile - sau nimic, daca ceva nu merge bine.
SQLSETPROP() cu DisconnectRollback asigura ca tranzactia nu este comisa daca se pierde legatura inainte de a se transmite SQLCOMMIT.


Daniel Buduru
 11/27/2011 3:26:28 PM
User is offlinegabirom
34 posts


Re: Conectare la SQL prin internet
 (N/A)
 Daniel Buduru wrote
 gabirom wrote
 aflorin wrote
 gabirom wrote
Care este metoda corecta pentru a accesa un server de internet via sql ??

Depinde ce intelegi prin accesare si prin server de internet. In discutia de mai sus era vorba de conectarea la un server de MSSQL.


Da la un server de mssql .. dar am o aplicatie care emite facturi (cu gestionare de stoc) .. si unul din punctele de lucru lucreaza mobil .. pe vodafone ..
Imi e teama de ce se poate intampla daca ii cade netul in timp ce emite o factura ..
Recunosc ca nu sunt expert in utilizarea serverelor de sql ..
Asa cu o aplicatie intermediara .. eu ii trimit fisiere xml (cu datele+comanda de executat) si chiar daca moare netul .. el executa pana la final ce i-am dat sa faca .
Eventual daca nu primeste o comanda de finalizare .. sa poata sa faca rollback ..



Pentru asta exista buffering si tranzactii, nu este nevoie sa inventezi alte metode.
Buffering, pentru a lucra pe o copie locala, si a nu pierde datele in cazul deconectarii.
Tranzactiile, pentru a salva totul - atat headerul cat si pozitiile - sau nimic, daca ceva nu merge bine.
SQLSETPROP() cu DisconnectRollback asigura ca tranzactia nu este comisa daca se pierde legatura inainte de a se transmite SQLCOMMIT.



Multumesc
Studiez...

 11/27/2011 9:19:59 PM
User is offlinegabirom
34 posts


Re: Conectare la SQL prin internet
 (N/A)
si din punct de vedere al securitatii ?? pentru ca se pare ca vor exista puncte mobile care se vor conecta prin vodafone ???
 11/27/2011 11:26:47 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Conectare la SQL prin internet
 (N/A)
In primul rand, pentru a reduce atacurile asupra serverului sql, configurezi serverul sa asculte pe alt port decat cel implicit (1433).
In ceea ce priveste datele, utilizeaza o conexiune criptata la servreul sql. Pentru asta, trebuie sa configurezi criptarea pe server si sa specifici conexiunea criptata in stringul de conectare.

Daniel Buduru
 11/28/2011 9:24:27 AM
User is offlineaflorin
840 posts
1st


Re: Conectare la SQL prin internet
 (N/A)
 gabirom wrote
am o aplicatie care emite facturi (cu gestionare de stoc) .. si unul din punctele de lucru lucreaza mobil

Ai putea sa analizezi intai daca e musai ca acest punct de lucru sa mearga on-line pe baza de date centrala. Emiterea de facturi se poate face si pe o baza de date locala iar apoi periodic (la n ore) sa se faca import-export intre BD satelit si BD centrala. Fiind vorba de facturi, ele nu ar trebui sa afecteze decat stocurile locale.

Florin Aparaschivei - Iasi
 11/29/2011 7:13:05 AM
User is offlinegabirom
34 posts


Re: Conectare la SQL prin internet
 (Romania)
Din pacate e mai mult de atat .. ca vor sa vada stocurile in tate punctele on line .. sa transfere intre ele .. etc
Din pacate sunt in incepator in sql.. pana acum am lucrat doar cu free table (dbf).. in retea locala
 11/29/2011 8:16:19 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Conectare la SQL prin internet
 (N/A)
 gabirom wrote
Din pacate e mai mult de atat .. ca vor sa vada stocurile in tate punctele on line .. sa transfere intre ele .. etc
Din pacate sunt in incepator in sql.. pana acum am lucrat doar cu free table (dbf).. in retea locala


Solutia propusa de Florin, cu punctele de lucru independente, care sa se sincronizeze la anumite intervale, se poate implementa relativ usor utilizand o functionalitate a serverului sql, si anume replicarea. Din pacate, versiunile express ale mssql server nu permit sa funtioneze decat ca subscriber, e nevoie de o versiune comerciala a serverului central.

Oricum vei avea nevoie de o baza de date locala, daca lucrezi pe o conexiune slaba. Conexiunea Vodafone poate fi declarata la 7.2 Mbit/s sau mai mult, dar, daca nu sunt conditii, poate cadea la 128kbit/s sau mai jos. Daca aduci pe local liste de articole si altele la fiecare factura, se poate sa ajungi in situatia in care emiterea facturii dureaza foarte mult.
Cu baza de date locala descongestionezi traficul, trebuie sa transmiti doar tranzactiile efectuate, si asta se poate face asincron. Fie prin replicare, fie printr-un mecanism propriu - nici asta nu e foarte dificil de implementat. Spre deosebire de vfp, seerverul sql e multithreading, poti avea mai multe procese care ruleaza simultan pe el, astfel incat sincronizarea bazei de date cu serverul central se poate face in paralel cu emiterea facturilor.

Daniel Buduru
  Visual FoxPro  Client/Server  Conectare la SQ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement