Hirdetés

Keresés

Új hozzászólás Aktív témák

  • haxiboy

    veterán

    válasz sztanozs #4319 üzenetére

    Ha nem kéne másik rangere tenni a fieldeket/táblákat. Vagy nem kéne megtartani a sok adatot nem lenne gond 😅
    A fieldek számozása egyébként a különböző partnerek fejlesztéseinek van fenntartva, de természetesen két azonos nevű Field egy táblában nem lehetséges. Szokott is probléma lenni ebből ha másik partnertől érkezik az ügyfél.

  • haxiboy

    veterán

    válasz sztanozs #4317 üzenetére

    Field No. az SQL-től független, csak a Dynamics NAV licencelés szempontjából mérvadó, a tábláknak is van számuk, SQL-ben attól még a saját nevével jelenik meg.
    Sajnos ezeket a számokat a NAV nem engedi módosítani ha van benne adat, viszont lokalizáció ranget kellett váltanunk az ügyfélnél. Ez annyit tesz hogy vannak fieldek pl
    1000-es számtól 1015-ig, mindegyiknek van valamilyen Neve (ami SQL-ben is a neve a fieldnek).
    A számot meg kéne változtatni 2000-től 2015-ig. Csak akkor lehetséges, holott az SQL schema nem változik semmit, a NAV szempontjából ez azt jelenti hogy Törölted az 1000-es fieldeket és felvettél 2000-es fieldeket ugyanolyan névvel.

    Így amit csináltam (végül ugyebár működött).
    SQL -> Delete from Táblanév
    Navision -> Átszámozás
    SQL SSIS -> Export Data az eredeti adatbázisból az átszámozott adatbázisba

    SSIS-ben ennél az export datás funkciónál meg lehet neki mondani hogy mekkora batchekben commitoljon? Ha esetleg nagyobb mennyiségű adatot szeretnék mozgatni? Jelen esetben egy átlagos ~85GB-os adatbázisról beszélünk.

  • haxiboy

    veterán

    válasz sztanozs #4315 üzenetére

    A változtatások dynamics nav tábla oldalon történnek (field no.) ami SQL oldalról irreveláns, attól még a field neve ugyanaz marad. De lekopogom most elvileg sikerült betöltenem az adatot az egyik kissebb vállalatnál problémamentesen. Minden a helyén maradt.

    A következő 3 vállalatot amiben jelentősen több az adat a holnapi nap próbálom meg átemelni.

    Nem kompatibilis adat előfordulhat, találkoztam már olyannal hogy nem lehet null érték az adott fieldben, mégis az volt ott, de hogy hogyan...fogalmam sincs, a lényeg hogy a kiexportált adatot már nem lehetett újra visszatölteni a táblába.

    De a memória elfogyásra nincs ötletem, remélem most hogy csak a NAV oldalról módosult (SQL schema szerint nem) táblákat rakom át így működik majd a dolog.

  • haxiboy

    veterán

    Sziasztok!
    A következő problémával fordulnék hozzátok.

    Adott két MSSQL Adatbázis ahol a táblák sémája megegyezik, sajnos program oldalról módosítanom kell néhány dolgot ami a program szemszögéből (Dynamics NAV) adatvesztéssel járna, így ez csak akkor lehetséges ha a módosítandó táblák üresek.

    Amit szeretnék:
    2 azonos adatbázis, az egyikből kitörlöm a táblák tartalmát, elvégzem a módosításokat, majd a másikból visszatöltöm (tábla szinten a schema nem változik így elvileg vissza kell mennie).
    Jelenleg SSIS-el próbálkozok, ahol kénytelen vagyok táblánként megmondani neki hogy a timestamp mezőt ne vegye figyelembe, hiába van identity insert bekapcsolva, a validációig nem jut el.

    Így látszólag működik is egy darabig, viszont vannak tartalmilag nagyon nagy táblák, amiknél nem megy be a végső commit, tudom valahogy állítani hogy hány rekordonként töltse fel a táblákat (feltételezem egyszerre akarja az egészet és elfogy a memória).

    Előre is köszi!

Új hozzászólás Aktív témák