[MySQL] Connessione DB e query da file batch

  • Creatore Discussione Creatore Discussione Giulo77
  • Data di inizio Data di inizio

Giulo77

Utente Attivo
15 Mar 2018
30
0
6
47
Ciao a tutti,
ho uno script .bat dove ottengo delle variabili che vorrei andare ad inserire direttamente in un record nel mio database.
Esempio:
Codice:
@echo off

set MYSQL_HOST=192.0.200.5
set MYSQL_ID=root
set MYSQL_PASS=
set MYSQL_DB=dbprova
set MYSQL_TB=eventi
set CAMPO1=1
set CAMPO2=ciao

Il db risiede su un'altra macchina da cui ovviamente accedo tranquillamente. Una delle particolarità è che non è protetto da password e non ho intenzione di metterla quindi già non saprei come trattare il parametro -p
Comunque il percorso dove riesco a far partire da cmd il mysql è "C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\dbserver\mysql5724x64x190129155938\bin\mysql.exe" e per la lunghezza delle directory direi che sono essenziali i doppi apici.

Quello che vorrei ottenere è implementare il comando per connettermi al database e per inserire nella tabella eventi (campo1,campo2) values (%CAMPO1%, %CAMPO2%)

Ho provato con:
Codice:
"C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\dbserver\mysql5724x64x190129155938\bin\mysql.exe" -h %MYSQL_HOST% -u%MYSQL_ID% -p%MYSQL_PASS% -e "use %MYSQL_DB%; INSERT INTO %MYSQL_TB% (campo1,campo2) VALUES (%CAMPO1%, %CAMPO2%);"

Ho provato anche ad omettere il parametro -p ma nulla.

Riuscite ad aiutarmi?
 
non conosco mySQL, quindi una risposta indiretta
con SQL Server di Microsoft utilizzo sqlcmd(.exe) con una riga di comando molto semplice,
Codice:
sqlcmd %Opt_svrname% -i "%Opt_CmdFile%" -o "%Opt_LogFile%"
la chiamata ell'eseguibile può avvenire da qualunque posizione, senza percorsi chilometrici
Opt_svrname contiene i parametri di connessione
Opt_CmdFile specifica il file con tutti i comandi sql
Opt_LogFile é il file che conterrà il log con il risultato di ciascun comando presente

ti consiglio di leggere il manuale perchè potrebbe esistere un metodo semplice like sqlcmd ….

e per la lunghezza delle directory direi che sono essenziali i doppi apici.
in realtà e per conoscenza, gli apici sono necessari perchè tra Program e Files (ma non solo) c'è uno spazio che interromperebbe l'interpretazione del comando
 

Discussioni simili