Důrazně nedoporučuji, aby se klientské programy připojovaly přímo k databázovému serveru přes Internet, a to z následujících důvodů:
- Klientské knihovny jsou navrženy a vystavěny na základě předpokladu, že databáze je vzdálena méně než několik milisekund, zejména velmi chatrné protokoly (mezi nimi je MSSQL). Krátké operace mohou v důsledku toho trvat podstatně déle.
- Je to bezpečnostní závazek, nejen že vystavujete svůj databázový server internetu, ale také vkládáte podrobnosti o připojení (jako jsou hesla) do své aplikace.
- Není vhodná pro škálovatelnost. Co když zavedete více databázových serverů s vyváženým zatížením nebo přepnutím při selhání, budete muset svého klienta přepsat.
- Také předpokládá, že nenastanou žádné problémy s připojením. Mnoho sítí (zejména mobilních sítí) omezuje aktivitu mimo port 80/443, aby zabránily zneužití své sítě (například útoky zombie uživatelů).
Ideálním řešením v těchto případech je vyvinout frontend webové služby pro vaši databázi; vaše aplikace by se pak propojila s webovou službou namísto vaší databáze. To má další výhody.
Klienti (zejména mobilní klienti) by samozřejmě měli používat datovou mezipaměť, aby aplikace fungovala i v režimu offline.
Zpět k tématu:za předpokladu, že stále chcete používat přímé připojení, pak nechápu, proč klientská knihovna MySQL nebude fungovat na 4.5. Manifest/konfiguraci sestavení můžete upravit tak, aby se spouštěla v budoucích verzích .NET CLR (do problémů se dostanete pouze v případě, že uvedená knihovna používá od té doby odstraněné typy a členy nebo se spoléhá na změněné chování. Rámec .NET má dobrá pověst pro zpětnou a dopřednou kompatibilitu).