Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [Node.js] Problema connessione a mysql con password con caratteri speciali

    ciao!

    sto cercando di connettermi a mysql da fastify (che dietro le quinte usa node.js).
    il problema è che mi da un errore sulla stringa di connessione, e penso che il problema sia la password, che contiene dei caratteri specialli.
    nello specifico il cancelletto:
    codice:
    fastify.register(require('@fastify/mysql'), {
        connectionString: "mysql://USER:PWD##@HOST/DB"
    });
    questo l'errore in sostanza:
    codice:
    TypeError [ERR_INVALID_URL]: Invalid URL
    come posso fare in questi casi??

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,464
    Devi usare l'encoding dei caratteri, ovvero una rappresentazione che ne indichi il codice (non rappresentabile) la quale verrà sostituita poi dal carattere corrispondente.

    Ad esempio, incolla la password online in siti come questo, e copia la versione codificata nella stringa.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Quote Originariamente inviata da alka Visualizza il messaggio
    Devi usare l'encoding dei caratteri, ovvero una rappresentazione che ne indichi il codice (non rappresentabile) la quale verrà sostituita poi dal carattere corrispondente.

    Ad esempio, incolla la password online in siti come questo, e copia la versione codificata nella stringa.

    Ciao!
    ciao!

    eh in verità avevo provato una cosa simile usando encodeURIComponent.

    cmq, sono andato sul sito, ho messo URL, ho copiato la password, che adesso mi esce così:
    codice:
    PWD%23%23
    se uso quella password mi da accesso negato.
    considera che a questo db mi sono sempre connesso da altri programmi.
    è impostato per la connessione diretta da ovunque.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,464
    Hai provato a usare l'oggetto con i dati della connessione, piuttosto che la stringa diretta?

    Ad esempio, scrivere qualcosa di questo tipo?
    codice:
    fastify.register(require('@fastify/mysql'), {
        host     : HOST',
        database : 'DB',
        user     : 'USER',
        password : 'PWD##'
    });
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Quote Originariamente inviata da alka Visualizza il messaggio
    Hai provato a usare l'oggetto con i dati della connessione, piuttosto che la stringa diretta?

    Ad esempio, scrivere qualcosa di questo tipo?
    codice:
    fastify.register(require('@fastify/mysql'), {
        host     : HOST',
        database : 'DB',
        user     : 'USER',
        password : 'PWD##'
    });
    Ciao!
    no perchè sulla pagina di github questa sintassi non c'era, e non riuscivo ad accedere alla documentazione!
    così funziona alla perfezione, grazie!!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,464
    Quote Originariamente inviata da fermat Visualizza il messaggio
    no perchè sulla pagina di github questa sintassi non c'era, e non riuscivo ad accedere alla documentazione!
    Non so se è documentata, ma andando a vedere il codice, ho visto che questo parametro veniva passato direttamente al client MySQL, quindi sapendo che tipo di parametri si aspetta quest'ultimo, ho dedotto che dovesse funzionare correttamente anche con quella modalità.

    Quando si dice l'utilità di avere il sorgente a disposizione...

    Quote Originariamente inviata da fermat Visualizza il messaggio
    così funziona alla perfezione, grazie!!
    Buono a sapersi! Quantomeno so che dovessi trovarmi nella stessa situazione, posso procedere in questo modo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.