/ / java jdbc mysql: jak przechowywać poświadczenia w pliku właściwości za pomocą znaków specjalnych? - java, mysql, jdbc

java jdbc mysql: jak przechowywać referencje w pliku właściwości za pomocą znaków specjalnych? - java, mysql, jdbc

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 № 1

błą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) = :