Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...
 probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National
 Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...
 Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...
 

Migrare aplicatie Acces la SQL

- - - - -
  • Please log in to reply
13 replies to this topic

#1
danixweb

danixweb

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.01.2010
Am dezvoltat timp de 3 ani o aplicatie scrisa in Acces 97 care utilizeaza 13 baze de date .mdb (cate una pentru fiecare domeniu stoc,prezenta,inventar,calitate....) pentru firma la care lucrez.
Folosim in prezent 10 calculatoare si exista un moment in zi in care se simt limitarile utilizarii bazelor de tip .mdb fapt pentru care am hotarat impreuna cu administratorul sa facem trecerea la o baza de date SQL .Front-end-ul va ramane acelasi program iar back-endul va fi baza mdf.Am inceput selectia de oferte pentru achizitionarea unui server(va fi un sistem configurat ca server) pentru a nu suporta cheltuielile mari ale unui server.
Sunt acum in etapa de informare a modului cum se face aceasta migrare si raman indatorat oricui imi va prezenta cum se poate face acest lucru.Deocamdata detin cunostinte superficiale despre cum se poate face acest lucru.Adresa mea de email este [email protected] pentru cazul in care cineva doreste sa imi raspunda.M-ar interesa cum se configureaza serverul si ce trebuie facut pe statiile de lucru pentru ca acestea sa aiba acces la datele de pe server.

Edited by danixweb, 03 February 2011 - 20:27.


#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
SQL, asa cum ii zice si numele, e un limbaj.
Daca zici de mdf banuiesc ca te referi la SQL Server a lui Microsoft.

#3
bgMiKe

bgMiKe

    Junior Member

  • Grup: Members
  • Posts: 149
  • Înscris: 28.01.2006
1. SQL. Daca nu-i musai (din diverse motive) Microsoft SQL Server, as sugera MySQL, poate si pentru ca e gratis.

2. Front-end-ul si Back-end-ul ... depinde foarte mult de ce si cum se face acum. Inteleg ca in prezent lucrezi direct din Access (form-uri, rapoarte, etc) - am inteles bine?. In acest caz, cel putin pentru MySQL ar trebui sa faci (proiectezi si implementezi) interfete pentru diversele operatii. Bine, exista si aplicatii de interfatare MySQL (gen MySQL Front sau SQL Yog) dar .. nu stiu daca se preteaza sau e recomandat sa lucrezi (nu tu, utilizatorul final) din asa ceva.
La fel stau lucrurile si pentru Back-end.

Daca insa ai aplicatii (care "au in spate" bazele .mdb) atunci va trebui, in primul rand, sa actualizezi parametrii conexiunilor - e cea mai simpla parte. Nu e exclus sa fii nevoit sa aduci mici modificari functiilor care se ocupa de preluarea respectiv salvarea datelor - se poate dovedi ceva mai complex de la caz la caz (fiecare sistem MSAccess respectiv MySQL avand particularitatiile sale).

3. "Conversia" de la .mdb la sql ... nu e nici dificila nici simpla. Exista si aplicatii care fac asta. Daca vrei insa un control mai bun/detaliat al procesului, e poate mai indicat sa exporti structura din .mdb ca si comenzi sql, sa faci corectiile necesare si apoi sa creezi structura respectiva in (My)SQL (prin executia comenzii(lor) sql anterioare). LA fel si pentru date.

Una peste alta si evident depinde foarte tare de situatia ta, intreaga operatiune poate sa fie una de durata (clar nu se face in 2-3 ore).

#4
shiva

shiva

    Nameless hero. Professional bug slayer mom.

  • Grup: Senior Members
  • Posts: 14,819
  • Înscris: 06.10.2003
Probabil n-ar fi gresit sa angajati, macar part-time, un DBA, pentru aceasta operatie. Degeaba muti datele din Access in Sql Server, daca db-ul nu e optimizat si aplicatia moare incet asteptand date de la DB.
Mai mult decat atat, trecerea la Sql Server va permite si configurarea backupurilor automate si diverse joburi sql.

#5
danixweb

danixweb

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.01.2010
Problema nu este atat de mare precum pare.Nu am de gand sa fac conversia in 2-3 ore cum s-ar putea crede.Mi-am propus ca aceasta tranzitie sa o fac in 3-4 luni.In acelasi timp vreau sa mai fac unele corectii in program pentru a reduce traficul de date inutile prin retea datorat selectiilor de tipul "Select *..." si altora asemanatoare precum si modificarile pe care trebuie sa le fac datorita diferentei dintre tipurile de campuri din Acces si SQL server(yes/no=bit etc).Am facut o simulare pe o baza de date locala respectiv un formular Acces care manipuleaza date ale unui tabel legat prin fisier sursa de date ODBC (SQL server) si totul merge perfect local.Am vazut ca sunt oameni interesati sa ma ajute cu sfaturi fapt pentru care trebuie sa dau detalii suplimentare.
Eu folosesc Acces 97 din motive care tin de licenta si compatibilitatea datelor cu cele ale partenerului german deci nu o sa il schimb chiar daca versiunile ulterioare au incluse utilitati de migrare .Partenerul nostru din Germania foloseste acelasi gen de aplicatie cu aceeasi versiune de Acces, aplicatia este mai complexa si deserveste cca 200 de calculatoare , ei au facut trecerea la SQL server de cativa ani dar seful meu are o retinere in a le cere detalii din motive care imi scapa.Mi-a lansat aceasta provocare pentru ca niciodata nu i-am spus ca nu pot sa fac un lucru, cel putin nu inainte sa ma informez si sa incerc si credeti-ma am avut provocari frumoase incununate de succes(am inclus in programul Acces comunicarea cu scaner cod de bare mobil din clasa Symbol, scanere fixe, balante digitale, cititoare de card Soyal pentru acces si pontaj, imprimante cu cap termic, dispozitiv Advantech PCI-1730 pentru monitorizare balante digitale).Nu spun asta ca lauda ci pentru ca pot oferii sprijin pentru acest tip de aplicatii in Acces97->2010, VB6 si VB.net.
Intorcandu-ma la problema mea m-ar interesa din partea unui cunoscator :
Ce versiune de SQL Server poate fi instalat pe server pentru a servii aplicatia ?
Ce fel de Windows server este necesar si ce setari se fac?
Ce drivere trebuie instalate pe statiile client si cum se seteaza?
Unde se pune fisierul sursa de date odbc pentru a fi apelabil pe toate statiile de lucru?

#6
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003

View Postdanixweb, on 4th February 2011, 19:18, said:

Ce versiune de SQL Server poate fi instalat pe server pentru a servii aplicatia ?
Ce fel de Windows server este necesar si ce setari se fac?
Citeste documentatia oficiala: http://msdn.microsof...y/bb500442.aspx

View Postdanixweb, on 4th February 2011, 19:18, said:

Ce drivere trebuie instalate pe statiile client si cum se seteaza?
Unde se pune fisierul sursa de date odbc pentru a fi apelabil pe toate statiile de lucru?
ODBC si OLEDB/ADO sunt default in Windows. ADO.NET vine cu .NET daca mergi pe varianta asta.
Nu mai umbla cu acele conexiuni manuale prin ODBC. Acesta suporta "connection string" prin care te conectezi direct unde vrei fara sa ai treaba cu setarile din Control Panel / ODBC !

#7
danixweb

danixweb

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.01.2010
Sunt nevoit sa folosesc ODBC aceasta fiind singura posibilitate de legare a aplicatiei la o baza de date SQL.Daca programul era scris in VB6 sau vb.net ma puteam conecta "conection string".

#8
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
Tu vrei doar sa schimbi sursa de date din aplicatie si sa mearga totul struna?

#9
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003

View Postdanixweb, on 7th February 2011, 18:31, said:

Sunt nevoit sa folosesc ODBC aceasta fiind singura posibilitate de legare a aplicatiei la o baza de date SQL.Daca programul era scris in VB6 sau vb.net ma puteam conecta "conection string".
"Connection string" merge la fel de bine si pe ODBC.
Access-ul stie si ADO.

#10
danixweb

danixweb

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.01.2010
Cu Accesul se poate face aproape tot ce se face cu VB6 .Eu vreau sa folosesc aceeasi aplicatie la care sa ii aduc doar modificarile necesare pentru a lucra cu baza SQL.
Am reusit sa trec peste problema.Am instalat Windows Server 2008 si SQL Server 2008 pe un calculator.Mi-am transformat una din bazele de date cu "Import and Export Data (32-bit)" , am creat un fisier sursa de date , am creat un fisier Acces 97( pe un alt calculator din retea) in care am creat o legatura ODBC la unul din tabelele bazei de pe serverul creat  si am reusit sa modific datele din tabel.Mai am o singura nelamurire.Nu am reusit conectarea la baza de pe "server" pana cand nu am dat utilizatorului "Guest" de pe server drepturi suplimentare.Va trebui sa vad cum pot da acces la baza de date si pentru ceilalti utilizatori.

Edited by danixweb, 08 February 2011 - 20:14.


#11
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003

View Postdanixweb, on 8th February 2011, 20:12, said:

Nu am reusit conectarea la baza de pe "server" pana cand nu am dat utilizatorului "Guest" de pe server drepturi suplimentare.Va trebui sa vad cum pot da acces la baza de date si pentru ceilalti utilizatori.
Nu stiu ce faci acolo dar SQL Server e client-server, nu prin partajare de retea ! Din client te conectezi la IP-ul serverului si atit. Sa permiti SQL-ului conexiuni TCP/IP.

#12
danixweb

danixweb

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.01.2010

View Postneagu_laurentiu, on 8th February 2011, 20:59, said:

Nu stiu ce faci acolo dar SQL Server e client-server, nu prin partajare de retea ! Din client te conectezi la IP-ul serverului si atit. Sa permiti SQL-ului conexiuni TCP/IP.
Vorbim din puncte de vedere diferite.Conectarea la o baza SQL se poate face utilizand logon-ul de Windows sau setarile de securitate ale serverului.Eu am mers pe prima varianta.

Edited by danixweb, 08 February 2011 - 22:06.


#13
danixweb

danixweb

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.01.2010

View Postdanixweb, on 8th February 2011, 21:03, said:

Vorbim din puncte de vedere diferite.Conectarea la o baza SQL se poate face utilizand logon-ul de Windows sau setarile de securitate ale serverului.Eu am mers pe prima varianta.
Gasiti aici un film pentru a vedea cum se face legatura Acces la baza SQL. [ https://www.youtube-nocookie.com/embed/bZX-CwRZE1w?feature=oembed - Pentru incarcare in pagina (embed) Click aici ]

Edited by danixweb, 09 February 2011 - 18:52.


#14
danixweb

danixweb

    New Member

  • Grup: Members
  • Posts: 15
  • Înscris: 13.01.2010
Multumesc pentru bunavointa tuturor celor care au raspuns in vreun fel.
Am rezolvat problema astfel:
Am convertit tabelele din bazele de date intr-o singura baza  SQL 2008,  singura problema fiind ca utilitarul nu muta si cheile primare asa ca a trebuit sa restabilesc cheile pentru toate tabelele(un tabel fara  cheie primara nu poate fi manevrat de catre Acces , poate fi doar citit).
Pe statiile client am instalat SQL Native Client 10(fisier sqlncli.msi) de pe CD cu kitul de instalare a SQL Server 2008 R2.
Am creat utilizatorii(preluati din Windows Server) in baza SQL cu drepturi si roluri corespunzatoare.
Am deblocat Firewall-ul pentru a permite conexiunea client server.
Am creat un fisier sursa de date de tip SQL Native Client 10(driverul trebuie instalat in prealabil) pe care l-am salvat pe server pentru a fi vizibil pentru toate statiile client.
Am creat in Acces 97 legaturi  ODBC la toate tabelele convertite si aplicatia functioneaza fara a modifica o linie de cod.
Varianta cu modificarea codului nu se aplica in cazul meu pentru ca am 125 de formulare si subformulare cu cod sursa  care gestioneaza 187 tabele plus codul din cele 15 module.

Edited by danixweb, 17 February 2011 - 18:19.


Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate