Widzę wiele osób próbujących podłączyć urządzenie z systemem Android bezpośrednio w bazie danych, takich jak SQL Server lub MySql, a odpowiedzi są zawsze takie same: Użyj usługi internetowej. Dlaczego nie połączyć bezpośrednio urządzenia z systemem Android z bazą danych? Używam sieci lokalnej w mojej aplikacji na Androida.Dlaczego nie połączyć bezpośrednio Androida z bazą danych?
Odpowiedz
Istnieje kilka powodów.
- Zabezpieczenia - jeśli użytkownik ma bezpośredni dostęp, może uzyskać wszystko z bazy danych. Dodatkowo będą mieć hasło do twojej bazy danych. W rezultacie, jeśli serwer SQL, z którego korzystasz, ma wadę, może go wykorzystać. Ponadto, jeśli twoje uprawnienia są źle skonfigurowane, możesz wyczyścić bazę danych.
- Prędkość - jeśli użytkownicy często korzystają z dużych zapytań, może on szybko i niepotrzebnie naruszyć system. Jeśli przejdziesz przez interfejs sieciowy, możesz go zdławić.
- Dostępność - zapytania internetowe są obsługiwane przez prawie wszystko. Wymaga specjalnych klientów do bezpośredniego dostępu do baz danych SQL.
Ale jeśli całkowicie ufasz swoim użytkownikom, dysponuj odpowiednimi bibliotekami/sterownikami, możesz zezwolić na bezpośrednie wysyłanie zapytań, a może być nawet trochę szybciej.
Powodem jest połączenie
Nie jesteś pewien, ile czasu trzeba będzie utrzymać to połączenie, jeśli jest stabilny, a jeśli nie zamierzamy stracił
drugie internecie -usługę są zoptymalizowane, aby pobrać informacje i pięknie je obsłużyć za pomocą standartów. Możesz także przechowywać informacje w pamięci podręcznej, aby zaoszczędzić swój DB
Jeśli twoja aplikacja łączy się bezpośrednio z serwerem bazy danych, musisz zakodować nazwę użytkownika/hasło, co jest bardzo niebezpieczne. Za pomocą niektórych narzędzi osoba atakująca może zdekompilować pakiet apk i uzyskać dostęp do nazwy użytkownika/hasła w ten sposób i połączyć się z bazą danych za pomocą odczytu (+ zapisu) bez korzystania z aplikacji.
Innym powodem nie do dostępu do bazy danych bezpośrednio
Problem Jeśli zmieniono architekturę bazy danych. masz dwa rozwiązania.
1 - w bezpośrednim dostępie musisz zaktualizować każdą aplikację kliencką
2 przy użyciu usługi, której potrzebujesz tylko do uaktualnienia usługi.
- 1. Nie można połączyć aplikacji z bazą danych
- 2. nie można połączyć się z bazą danych z pliku
- 3. Nie można połączyć się z bazą danych SQL Server
- 4. CakePHP 2 nie może połączyć się z bazą danych MySQL
- 5. Nie można połączyć się z bazą danych SQL Server
- 6. połączyć się z bazą danych PostgreSQL z różnymi ustawieniami narodowymi
- 7. Jak połączyć się z bazą danych SQL z C#?
- 8. Jak połączyć się z bazą danych serwera SQL przez LAN
- 9. Jak połączyć się z istniejącą bazą danych w ASP.NET MVC?
- 10. Połączyć się z bazą danych programu SQL Server od PowerShell
- 11. jak połączyć się z bazą danych w aplikacji openshift
- 12. atuty rake: prekompilacja próbująca połączyć się z bazą danych
- 13. Jak mogę połączyć się z bazą danych postgreSQL w scala?
- 14. Jak zdalnie połączyć się z bazą danych Oracle 11g
- 15. php nie password_verify pracy z bazą danych
- 16. Tabela z trójwymiarową bazą danych
- 17. nie można połączyć aplikacji Grails z bazą danych mySql, Nie można załadować klasy sterownika JDBC "com.mysql.jdbc.Driver"
- 18. Nie można używać stałych, gdy próbuje połączyć się z bazą danych w innym pliku
- 19. Nie można połączyć się z bazą danych Firebase DB z PHP SDK
- 20. zdalnego łączenia się z bazą danych MySQL
- 21. domyślne połączenie z bazą danych pymongo
- 22. Dlaczego nie ustawić wartość bezpośrednio
- 23. Biblioteka zarządzania bazą danych
- 24. Testowanie phpunit z bazą danych
- 25. Transakcja z bazą danych Magento
- 26. Heroku z bazą danych H2
- 27. Nie można połączyć się z bazą danych SQL przy użyciu SQuirrelSQL
- 28. MVC4: UserIsInRole - Nie można połączyć się z bazą danych SQL Server
- 29. Nie można połączyć się z bazą danych za pomocą localhost \ sqlserver
- 30. Ruby on Rails nie może połączyć się z bazą danych mysql
Zwiększenie rozmiaru pamięci w phohe, czy zapisaliśmy bazę danych w telefonie komórkowym –
Prawdziwym pytaniem dla mnie jest: Czy nie jest to takie samo z, na przykład aplikacją C# działającą w systemie Windows. Lepiej korzystać z usług internetowych, zamiast korzystać z połączeń bezpośrednich z tych samych powodów. Ale nie powinno tak być, musi być jakaś różnica. Jako programista korzystający z połączenia bezpośredniego albo robię to źle, albo istnieje różnica, której jeszcze nie zauważyłem. – ErTR