Szoftverben az erő.
english   
  • Hírek
  • A szolgáltatásról
  • Technológia
  • Megoldások
  • Termékek
  • Kapcsolat
  •  

    A Visio és az adatbázistervezés

    2009.11.17. 18:50
    /

    Rövid kis esettanulmány Visio-ról, adatbázistervezésről, szkriptelési zsákutcákról és a kitartás jutalmáról.

    Legnagyobb meglepetésünkre az egyik partnerünktől az általuk készített adatbázis dokumentációját Visio-ban kaptuk meg. Tudtam, hogy sok mindenre lehet használni, de speciel nem gondoltam volna, hogy valaki ebben tervez adatbázist. Perzse mindegy is, mert megnézegettük a doksit, szép volt, jó volt, a sémában minden tábla és mező is el volt látva kommentekkel, örültünk.

    A problémák akkor kezdődtek, amikor ebből a csodából sql szkriptet szerettünk volna kicsikarni, hogy reprodukáljuk a táblákat. Igazából a mezőkhöz tartozó információk voltak a legfontosabbak, de úgy gondoltuk az ehhez való hozzáférés a sémageneráláson keresztül vezet.

    Persze hamar kiderült, hogy bár odbc-n keresztül képes sémát betölteni, legyártani nem fogja. Ahhoz egy különleges verzió, a Visio 2003 for Enterprise Architects kell. Piha! Nekünk olyan nincs. Kolléga itt adta fel, nekem pedig itt jött meg a kedvem a kutakodáshoz. Szeretem a lehetetlennek tűnő feladatokat ;-) Több száz tábla, elektronikus formában dokumentálva. Nehogy már újra kelljen gépeltetni…

    Szépen sorban haladtam.

    A dokumentációt készítő partnernél érdeklődtem először, de legnagyobb csalódásomra kiderült, hogy olyan nekik sincs és csupán a dokumentálás kedvéért használták a Visio-t. A mezőleírások sincsenek meg más formában (az adatbázisban sem!), ezért  hát nem tudnak segíteni. Remek.

    Létezik-e ebből a szoftverből demó, amivel megoldható a feladat? Nem, nem létezik. A Microsoft leállította a fejlesztését, valami máson dolgoznak nagyon, ami a Visual Studio része lesz (lehet, hogy már része is, nem ismerem annyira a termékvonalat).

    A fórumokat böngészve az is kiderült, hogy warezolni sem érdemes, mert hiába generálja a szkriptet az Enterprise verzió, a kommenteket nem illeszti bele… :-(

    Akkor ismerkedjünk meg a Visio belső VBA Script-es makrózási lehetőségeivel! Hátha. A hivatalos doksi szerint nincs lehetőségem szkriptből elérni még csak a séma elemeit sem. Fórumozás után az derült ki, hogy az ehhez szükséges Database Model Diagram API-ja nem publikus. Egy kis turkálás és kísérletezés ismét segített. Már el tudtam érni szkriptből a modell tábláit, mezőit és éreztem: közel vagyok. Majd nem sokkal később rájöttem, hogy ez is zsákutca. A komment mezőket a belső API-n keresztül sem lehet elérni…

    Akkor nincs más lehetőség, marad a Windows platform automatizálási svájci bicskája, az AutoIT. A program remekül szimulálja a billentyűleütéseket és egérműveleteket, valamint hozzáférést biztosít a Windows grafikus elemeihez is (pl. szövegdoboz, gomb, stb.). Szóval nem tettem mást, mint az AutoIT Basic-szerű programozási nyelvén megfogalmazva definiáltam a munkafolyamatot, mintha manuálisan végigmennék (a billentyűzet és az egér használatával) a Visio paneljein és kiolvasnám a megfelelő mező tartalmát. Helyettem most ezt egy pár soros (na jó, 54) kis programocska tette meg. Az eredményt pedig (rögtön sql szkriptet) egy fájlba írattam ki. Miután több vsd-m is volt, mindegyiken lefuttattam. Örültem.

    A jutalom? Nem kell újra begépelnie senkinek :-)

    Hozzászólás