sql >> Databasteknik >  >> RDS >> Mysql

Windows 8 och MySQL? Vilka är mina alternativ?

Jag avråder starkt från att klientprogram ansluter direkt till en databasserver över Internet av följande skäl:

  • Klientbibliotek är designade och byggda kring antagandet att databasen är under några millisekunder bort, särskilt mycket chattiga protokoll (MSSQL är bland dessa). Korta operationer kan ta betydligt längre tid som ett resultat.
  • Det är ett säkerhetsansvar, du exponerar inte bara din databasserver för Internet, utan du bäddar också in anslutningsdetaljer (som lösenord) i din applikation.
  • Det lämpar sig inte för skalbarhet. Vad händer om du introducerar flera belastningsbalanserade eller failover-databasservrar, du måste skriva om din klient.
  • Det förutsätter också att det inte kommer att finnas några anslutningsproblem. Många nätverk (särskilt mobilnät) begränsar aktivitet utanför port 80/443 för att förhindra missbruk av deras nätverk (som till exempel zombieanvändare som utsätter attacker).

Den idealiska lösningen i dessa fall är att utveckla ett webbtjänstgränssnitt för din databas; din applikation skulle då ha ett gränssnitt mot webbtjänsten istället för din databas. Detta har andra fördelar.

Givetvis bör klienter (särskilt mobila klienter) använda en datacache så att applikationen fortsätter att fungera när den är offline.

Tillbaka till ämnet:om du antar att du fortfarande vill ha en direkt anslutning, så ser jag inte varför MySQL-klientbiblioteket inte fungerar på 4.5. Du kan ändra en sammansättnings manifest/konfiguration så att den kommer att köras på framtida versioner av .NET CLR (du kommer bara stöta på problem om nämnda bibliotek använder sedan-borttagna typer och medlemmar eller förlitar sig på ändrat beteende. .NET-ramverket har ett gott rykte för bakåt- och framåtkompatibilitet).



  1. MySQL extrahera data från csv-sträng och infoga i en andra tabell

  2. GreenDAO stöder flera relationer mellan tabeller

  3. java.lang.NullPointerException på com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:3005)

  4. MySQL - explodera/dela ​​indata till lagrad procedur