Próbuję połączyć się z MySQL za pomocą JDBC za pomocąprogram java. Program odczytuje z pliku właściwości, aby uzyskać poświadczenia (adres URL, nazwę użytkownika, hasło). W haśle używamy znaków specjalnych, takich jak ^, &, *, @.
sekcja pliku właściwości wygląda mniej więcej tak:
mysql.username=bob
mysql.password=th1$is^my@pa$$w*rd (not the real password, but for the sake of discussion)
błąd ze śledzenia stosu wygląda tak: BŁĄD: nie można połączyć się z db: [43008] Odmowa dostępu: dla użytkownika "bob" @ "" (używając hasła: TAK)
Potwierdziłem, że program jest w stanie odczytać hasło (drukując je na konsoli). Wygląda na to, że jest to jakaś sekwencja ucieczki, która jest wymagana, aby mnie brakować?
wyszukuj google i pytaj współpracowników, ale nikt nie zna odpowiedzi.
wszelka pomoc jest doceniana. z góry dziękuję.
Odpowiedzi:
1 dla odpowiedzi № 1błąd ze śledzenia stosu wygląda następująco: BŁĄD: nie można połączyć się z db: [43008] Odmowa dostępu: dla użytkownika "bob" @ ""
Oto twoja odpowiedź, a dokładniej "kok"@"" skrawek. Co mówi ci, że użycie boba na żadnym hoście (lub pustym hoście) nie próbuje połączyć się z twoją bazą danych MySQL, co jest prawie pewne, że to nie jest to, co próbujesz zrobić.
Rozwiązanie polega na upewnieniu się, że masz odpowiedni adres URL do połączenia się z bazą danych:
String url = "jdbc:mysql://"+HOST+"/" + DB; //Double check your HOST constant
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(url, userName, password);
Mam nadzieję, że to pomogło. Twoje zdrowie
EDYTOWAĆ:
Wygląda na to, że sposób, w jaki przechowuje się przepustkę, jest właściwy, jedynymi znakami, które należy umieścić w pliku właściwości, są:
t n r \ " " (space) = :