MySql server vs. Access fileserveren
2007-07-22T23:30:20+02:00
2007-07-23T19:24:55+02:00
2022-07-19T05:18:01+02:00
  • Akartam is írni, hogy ezt töltsd le. Ebben benne van a Management Studio Express, a Full Text Search Service (ez a kedvencem), plusz az SP2. Persze, hogy ingyenes. Sőt, még terjesztheted is a programod mellé, ha az az igény.
    Mutasd a teljes hozzászólást!
  • Megnéztem, a Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 2-t. A telepítője 257MB. Ezé már elég sokat kell tudnia tényleg. Írja a Microsoftos oldal is, hogy ingyenes. Céges felhasználásra is?
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Expressel nem biztos, hogy menni fog, de nagytestvérek (fizetősek) tudják.
    (esetleg megkérsz valakit, elküldöd neki, beimportálja, majd küldi vissza az mdb-t vagy a backupot amit megeszik az express is)
    Mutasd a teljes hozzászólást!
  • Köszi a válaszokat. Azért akartam MySQL-re tenni, mert az (is) ingyenes és már fent volt a gépemen, de megfogadom a tanácsot és megtekintem az MS SQL expresst. Gondolom arról ne is álmodjak, hogy a meglévő MsAccess adatbázist egyszerűen átkonvertálom?
    Mutasd a teljes hozzászólást!
  • Jelentősen gyorsabb lesz (és kevesebb adatforgalommal jár, mert az Access a hálózaton átrántja a teljes adatbázist induláskor, rdbms meg ilyet nem tesz).

    Ami gond lehet, hogy a szintaktika kicsit más (pl. LIKE-nál Access-ben *, MySQL-ben % a helyettesítő karakter, stringkezelő fgv-ek, stb).
    Ennek megfelelően lehet, hogy kicsit át kell írni a lekérdezéseket.
    Kevésbé lehet macerás, ha MS berkeken belül maradsz és pl. egy SQL 2005 Express-re térsz át (szintaktikailag kevesebb eltérés van). Az ODBC-t ebben az esetben meg ki is iktatnám, hisz feleslegesen lassít.
    Mutasd a teljes hozzászólást!
  • Mondjuk ezt a MySQL dolgot én sem annyira értem, de mindegy. Alapjában véve nagyon sok múlik azon is hogy hogy van megírva a Delphis programod. Pl. ha egy táblán azokat a sorokat ahol az X mező értéke 1 ott 10-zel meg kell növelni Y értékét (extrém példa, de világos) megteheti úgy is a programozó hogy kiad egy update tábla set y=y+10 where x=1 SQL parancsot, de megteheti azt is hogy nyit egy táblát, és csinál valami hasonlót:


    with tabla do while not eof do begin if fieldbyname('x').AsInteger=1 then begin edit; fieldbyname('y').AsFloat:=FieldByName('y').AsFloat+10; post; end; next; end;

    Az előbbi esetben sokat gyorsul, az utóbbiban szinte semmit.
    Ha az illető coder SQL-es környezetből jött akkor az első megoldást alkalmazza (de akkor aligha tervez programot MS-Access adatbázisra) ha Clipperes múltja van akkor jó eséllyel az utóbbi megoldások játszanak. Tegyük hozzá hogy van olyan eset ahol amúgy is az utóbbinak van létjogosultsága, Pl. ha bonyolultabb feltételt kell vizsgálni, ezt SQL szerveren tárolt eljárással nem gond megcsinálni de az accessben ilyen opció nem igazán van, legalábbis amikor utoljára accesseztem nem volt.
    Mutasd a teljes hozzászólást!
  • Közben rájöttem, hogy az Access egyszerűen file-ként használja az adatbázist, nem úgy működik, mint egy szerver. Szóval hálózati, többfelhasználós környezetben az Access még annál is birkább, mint ahogy elsőre írtam.
    Mutasd a teljes hozzászólást!
  • A hálózati adatforgalom nem változna sokat, hiszen ugyanaz az adatszerkezet, durván ugyanannyi byte-ot kell szánkóztatni a hálózaton. Az adatok elérése viszont hülyére gyorsulna, főleg egy többfelhasználós környezetben. Az Access-t nem ehhez tervezték, főhurka ilyen esetben.

    Amit nem értek, az az, hogy Delphi(Windows)/Access-t miért pont MySQL-re akarod migrálni? Az MS SQL EXPRESS sokkal ésszerűbb. Nagyjából kompatíbilisek az Access-zel az adattípusok, 100x gyorsabb, milliószor értelmesebb a SQL nyelv és a tárolt eljárások, SQL Server Management Studio Express, ami egyszerűen megfizethetetlen, ehhez még csak hasonló sem létezik YourSQL berkekben, a Delphi 2007 DBX közvetlenül az ADO.NET felületen támogatja az MS SQL-t, ..., ..., ... ja és ez is ingyen van. Össze sem lehet hasonlítani az MS és a YourSQL-t. Ég és föld. Windowson másban ne gondolkodj!
    Mutasd a teljes hozzászólást!
  • Sziasztok,
    Újabb kérdés merült fel bennem, szeretném megtudni a véleményeteket. Leírom még1x a felállást.

    Szeretnék egy programot többfelhasználóssá varázsolni, a hálózati adatforgalmat is kímélve. Jelenleg 1 felhasználó msAccess adatbázis ODBC kapcsolat Delphi alatt írt kliensprogi ADO-n keresztül.

    Először arra gondoltam, hogy felrakok egy MySQL adatbázis szervert és egyszerűen átkonvertálom az adatokat MySQL-be. Az ODBC drivereket kiegészítem MySQL Connector/ODBC-vel(minden kliensen), a program ADOConnection-ját átirányítom egy újonnan létrehozott ODBC adatforrásra és kész! Már az is érdekelne, hogy mennyire életszerű ez a felállás?

    Az érdekelne még, hogy mennyit segítettem így a hálózati adatforgalmon ahhoz képest, mintha hagytam volna mindent úgy ahogy van és a fileserverre feltettem volna az Access adatbázist és a többi felhasználó itt érné el. Szükséges-e tárolt eljárásokat írogatni, vagy már ez is "sokat" segít az adatforgalmon? Az adatmegjelenítések ADOQuery-ben megírt SQL parancsokkal történnek, de az adatfelvitel, törlés, minden "hagyományos" módon történik.

    Tehát összefoglalva: érek-e el jelentős forgalomcsökkenést a hálózaton, ha a progit hagyom úgy ahogy van és "csak" az adatbázist cserélem le Accessről MySQL-re?
    Mutasd a teljes hozzászólást!
abcd