mssql to mysql

Üdv!

Jelenlegi rendszerünk mssql-t használ.
Szeretnénk majd webáruházat amihez nem igazán fizetnénk meg azt a rabló licencet ami az sql-t illeti.
Tehát mysql lenne a webáruház alatt.
A mssql-hez lenne egy dedikált user akkor csak egy CAL-t kell venni.
Hogy lehet megoldani ezzel az userrel hogy az mssql bizonyos táblái a mysql-be másolódjanak?
Van valami migrációs script amit az adott user futtat mondjuk óránként?
Hogy lehet megoldani, hogy adott tábláknak csak a különbségét migrálja?
(pl van 100000 cikk de nem változik csak 20 akkor elég a 20-az átvinni)

Szóval, hogy történik mindez?

pch

Hozzászólások

Nem opció, hogy a mostani backend MSSQL-t is leváltjátok MySQL-re?
Hosszútávon ez sokkal kevésbé problematikus megoldásnak tűnik.

Workbench-el tudsz migrálni mssql > mysql irányba, de úgy érzem, hogy nem folyamatos replikálásra van kitalálva.

Sajnos nem.
A program nem támogatjacsak az mssql-t a programozó is.
(állítólag olyan triggerek és tárolt eljárások vannak benne amit csak az mssql tud... Bár ebbe nagggyon kételkedek)

Amit linkeltél ahhoz kell mindi nyomkodni a migrate gombócot. Belátható, hogy ez nem járható út.
(De lehet tévedek)

pch
--
http://www.buster.hu "A" számlázó
--

Egyirányú? Azaz a webshop nem módosítja az érintett adatokat? Akkor biztos lehet írni egy scriptet ami csatlakozik az mssql-hez lenyomja a select-et majd nyomatja az insert/updateeket a mysqlnek. (bár egyáltalán nem szép :))

Bár látom, hogy van olyanuk, hogy Linked Server és SSIS:

http://www.ideaexcursion.com/2009/02/25/howto-setup-sql-server-linked-s…

https://blogs.msdn.microsoft.com/mattm/2008/03/04/connecting-to-mysql-f…

Akkor a fő rendszeretek programozójától kell kérni az adatok export és import kapcsolatát a webáruházhoz és ugyanígy a webáruháztól is elvárható ugyanez, ha még nincs benne.

Ugye ez még nem az új "Offline Ügyviteli" rendszer?
Sikerült amúgy talaláni valamit?
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Nem találtunk megfelelő offline rendszert.
Így marad a meglévő. Amúgy ezért akartuk lecserélni mert mssql-t használ.
A sajátomat meg nem hozom ide sőt nem is írok ide sajátot.
Ha valaki nem érti miért elmagyarázom :D

A windows (sql) licenc nem engedi, hogy a webes php az mssql-ből szedje az adatokat.

pch
--
http://www.buster.hu "A" számlázó
--

Ha elerheto a fejleszto, akkor a legegyszerubb egy idozitett feladattal a szoftverbol lekerni (illetve felkuldeni) az adatokat, XML-RPC vagy SOAP-on keresztul...
A legtobb webaruhaz motor alkalmas erre (Magento, OpenCart biztosan), es kevesbe "fajdalommentes" megoldas, mint adatbazis kozotti kozvetlen adatcsere...

Pont a licenc miatt kell exportálni és importálni mind a két rendszerben.
Ha a programozó hajlandó ezt megcsinálni. Szerintem neki is érdeke lenne egy ilyen fejlesztéssel gazdagítania a rendszerét.
(Azt pedig értem, hogy miért nem akarod a főállású munkahelyeden a saját programodat használni akkor amikor nem programozóként alkalmaznak.)
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Hány gépen fut majd a webáruház, milyen elrendezésben?
Mekkora az adatbázis?

Üdv,
Marci

Látom nem érted mi a probléma.

1.: VAN egy szoftver ami mssql alatt megy de nem elég a "kicsi"
2.: NINCS webáruház
3.: Szeretnénk egy webáruházat.

A microsoft úgy adja az sql licencet, hogy vagy webáruház és akkor 4 mag a minimum 2 magonként 1.2 M vagy veszel sima sql-t + CAL de akkor nem mehetsz ki vele.
Az sql+CAL-nál nem mehetsz ki a webre sőtt egy másik szerveren lévő php se csatlakozhat hozzá.
Csak egy dedikált userrel lehet mssql-mysql migrációt.

Ez utóbbi mikéntje lenne a kérdés, hogy más hogy oldja meg.

Szóval a nagy sql az ügyviteli rendszer alá kell! Most is az van de költöznénk másik szerverre és a win+sql nem vihető át másikra.

pch
--
http://www.buster.hu "A" számlázó
--

Továbbra sem látom a problémát. Nem az ügyviteles, cal-os sql szerverből akarod kiszolgálni a webáruházat, hanem egy másik adatbázis szerverből, amire folyamatosan replikálni akarod a nagy sql szerver bizonyos tábláit. Erre irtam, hogy miért nem raksz oda egy sql express-t, vigan szinkronizál a nagy sql szerverrel, ingyen van és használható weboldal mögé backendnek.

Másik topikból kiderül, hogy pont az MS-SQL függőség miatt az ügyviteli rendszerüket is le szeretnék cserélni.
Így talán már sokkal logikusabb, hogy miért szeretnének a webáruház alá egy szabad SQL-szerver.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

Ha ez lenne a helyzet, akkor elfogadta volna a fentebb már bedobott megoldást, amivel kézzel, 1x át tudja migrálni az adatait mysql-be, ha talált épkézláb ügyviteli rendszert mysql-re. Feltételezhetően nem talált, ezért ebben a topicban arról van szó, hogy hogyan tudja az mssql-es ügyviteli rendszer pár tábláját szinkronban tartani egy webáruház másik adatbáziskezelőjével. Arra pedig az express tökéletesnek tűnik.

De tőlem persze bohóckodhat mysql-lel (sok sikert a szinkronizálásához), nekem igazán mindegy, én csak azért folytam bele, mert hülyeségnek tűnt a kijelentés, hogy csilliárdokért lehet csak mssql-el webáruház backendet működtetni. Ingyen lehet, webáruházas léptékben még közepesen nagyot is, nemhogy 5 megásat.

Valamin futni kell az mssql-nek (a Linux jelenleg még bátor lenne, Win kliensnek meg az EULA-jába ütközik :)) és persze bármi alól elérheted ezt a szervert, de nem túl életszerű linuxon hostolt webshopból távoli mssql szervert cseszletni. (főként, ha "kész" megoldást szeretne, szerintem a legtöbb webshop aminek MSSQL supportja van .NET-ben készült :))

Azért mert ezt még senki se hozta fel megoldásként.
Szóval az mssql express mehet ki webre?
Mivel lehet megoldani a kiválasztott táblák mssql és mssql express közti migrációt?

Sajnos nem találtunk olyan szoftvert ami akár mssql express akár firebird ill. mysql alatt menne és megfelelne nekünk.
Megnéztem kb 8-10 szoftvert...

pch
--
http://www.buster.hu "A" számlázó
--

Mehet webre az express, nincs ilyen korlát a license-ében.

A migrációt hivjuk inkább replikációnak (lehet egy és kétirányú is) én valószinű azzal csinálnám, kiindulásnak: https://technet.microsoft.com/en-us/library/ms151819%28v=sql.105%29.aspx

Én nem láttam még olyan ügyviteli szoftvert ami kikötte volna, hogy nem fut express-el. Melyik az? Ha magának az express limitjeibe beleférsz (pl max 10 GB / adatbázis) akkor annak mennie kell bármelyik ügyviteli rendszerrel, észre sem veszi a különbséget a szoftver.

Inkább itt válaszolok a privátra, éjszakai job-ok valóban nem tudnak futni express-en, de nem hiszem, hogy ebbe belehalna az a pár megás adatbázis. A fejlesztő meg tegye ki azt a pár sql parancs futtatását egy gombra a programban és majd a user rányom, ha "optimalizálni" akar.

De ezért nyilván nem venne senki 1 millióért sql szervert, hogy le tudjon futtatni pár jobot éjszakánként. Akár egy batch file-ba is be lehetne időziteni azt a pár parancsot, ha annyira mission critical. Én lehet megnézném nagy sql-en milyen jobot csinál és kiraknám batch fileba express-en :)

Sajnos akkor licencet sértesz.
Eléggé ördögi kör.
Egy nyamvadt szoftver miatt megy a szívás évek óta...
Mondjuk az is furcsa (de lehet csak nekem), hogy annyi ügyviteli program van mint égen a csillag
és a meglévők közül egy se vállalja be, hogy belefejlessze a funkciókat.
Pedig volt köztük nem egy ami nagyon jó csak épp nem tudja azt az alapot amivel a cég működik már lassan 15 éve...
Egy program miatt meg nem fogunk változtatni az alapkoncepción.
Már a mostani programot is kezdem utálni, de már lassan belefáradok az egészbe...

pch
--
http://www.buster.hu "A" számlázó
--

A batch nem a szinkronizáció miatt jött képbe, hanem privátban kaptam infot, hogy az ügyviteli program amiatt tiltakozik sql express alatt való futás ellen, hogy nem tud éjszakánként sql server job-okat futtatni. Erre irtam, hogy meg kell nézni mit csinálna éjszakánként és kirakni egy batch file-ba beütemezve és akkor máris ugyanott vagy express-el is ingyen.

Én ezt úgy értelmezem, hogy csak webszolgáltatást nyújtás esetén nem szükséges bExternal Connector vagy egyéb CAL, tehát lehet, hogy az egészre semmi szükség?

https://blogs.technet.microsoft.com/volume-licensing/2014/03/10/licensi…

Szerk: tévedtem valószínűleg, de fent hagyom, tanulságos:)

SQL Server Integration Services a barátod. Vagy az Import and Export Data, ami tulajdonképpen egy SQL Server Integration Package-et gyárt le a háttérben, amit külön ki is tudsz menteni és SQL Agent Job-bal tudod ütemezni.

-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"

Hali!

ODBC-n nem tudod átvinni a szükséges táblákat/adatokat óránként/esetenként?

Nem csak az M$ számol furán... A Zinternet lenne ilyen gyors?
65% [62 Sources 1528 kB/6239 kB 24%] 3062 PB/s 0s

Hello,

A freeTDS a megoldás, debainról php eléri a mssql-t, és onnan tudsz migrálni a webes mysql felé. Igy elég az egy licensz, és nem kell egzotikus technológiával küzdeni.

A freeTDS elég stabil, jelenleg is fut így migrációs scriptünk.
---...---
TLoF

Ha a kulonbseg kell, akkor mssql-ben +1 DB-t letrehozol.
Ebbe lemasolod azokat a tablakat (t1,t2) aminek az adatai kellenek a mysql-ben.
SELECT * FROM [t1] INTO [ujdb].[dbo].[t1]
https://msdn.microsoft.com/en-us/library/ms188029.aspx

Csinalsz masik tablat/kat ([ujdb].[dbo].[m1]) ami a mysql-be atvitt adatokat tartalmazza.

utana LEFT JOIN-an ki tudor szedni mi az uj a t1-ben az m1-hez kepest vagy
SELECT ... FROM T1 EXCEPT SELECT .. FROM M1 - ez is kiadja a kulonbseget.
https://msdn.microsoft.com/en-us/library/ms188055.aspx

A fenti eredmenye kell a mysql-be.

En igy csinalnam latatlanban.