Forum >> Programmazione Python >> Database >> Connessione ad un server

Pagina: 1

Salve
devo connettermi ad un database online che si trova su un server con indirizzo IP tipo: 150.1.234.90, ho utilizzato questa sintassi:

import MySQLdb
conn=MySQLdb.connect(host=150.1.234.90,user="mia_username",passwd="mia_password",db="nome_database")
cursore=conn.cursor()
cursore.execute("select * from nome_tabella")
riga=cursore.fetchone()
print riga

quando avvio mi si apre una finestra Syintax error che dice --> there's an error in your program: invalid syntax
e mi sottolinea il numero 234 dell'indirizzo IP

Non capisco dov'è l'errore perchè l'indirizzo IP che ho immesso è giusto.

devo connettermi ad un database online che si trova su un server con indirizzo IP tipo: 150.1.234.90, ho utilizzato questa sintassi:

import MySQLdb
conn=MySQLdb.connect(host=150.1.234.90,user="mia_username",passwd="mia_password",db="nome_database")
Hai dimenticato le virgolette intorno all'IP.

Ciao,
cm
THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Ho provato ma con le virgolette esce questo:

line 1, in <module>
import MySQLdb
ImportError: No module named MySQLdb
line 1, in <module>
import MySQLdb
ImportError: No module named MySQLdb
Beh mi sembra molto esplicativo, non hai installato il modulo MySQLdb.

Cya
Ho installato il modulo mySqldb, ora non mi da errore, ma non succede niente, eppure i dati inseriti sono corretti....

grazie per la pazienza
Bene, forse va tutto bene ed ora semplicemente non stai visualizzando i dati magari perché la query che fai non restituisce nulla.

Controlla quanti record sono presenti in nome_tabella che invochi, oppure prova una cosa del genere:
import MySQLdb as mdb
import sys

try:
    con = mdb.connect(host="150.1.234.90",user="mia_username",passwd="mia_password",db="nome_database");
    cur = con.cursor()
    cur.execute("SELECT VERSION()")
    ver = cur.fetchone()  
    print "Database version : %s " % ver
except mdb.Error, e:
    print "Error %d: %s" % (e.args[ 0 ],e.args[ 1 ])
    sys.exit(1)
finally:
    if con:    
        con.close()
Cya

P.S. Ho visto che il codice non viene presentato in maniera corretta, te l'ho messo anche su Pastebin.


--- Ultima modifica di Daniele aka Palmux in data 2015-11-22 17:38:58 ---
Anche così facendo non succede niente.
Forse il problema è che non posso accedere da remoto a questo database mysql che mi è stato fornito da un hosting gratuito.
Non so se sto svarionando, ma può darsi che l'unica soluzione sia utilizzre un VPS ed installarci sopra mysql e un programma tipo phpmyadmin per poi connettermi da remoto da qualsiasi macchina per poterlo utilizzare all'interno del mio programma python???
Oppure ci sono dei servizi che offrono a pagamento la connessione da remoto al database?
Perchè con il servizio che sto utilizzando ora la connessione è possibile solo da localhost suppongo.
Forse il problema è che non posso accedere da remoto a questo database mysql che mi è stato fornito da un hosting gratuito.
E' molto probabile.

Non so se sto svarionando, ma può darsi che l'unica soluzione sia utilizzre un VPS ed installarci sopra mysql e un programma tipo phpmyadmin per poi connettermi da remoto da qualsiasi macchina per poterlo utilizzare all'interno del mio programma python???
"L'unica soluzione" mi sembra eccessiva come definizione, diciamo che potrebbe essere una delle soluzioni possibili.

Oppure ci sono dei servizi che offrono a pagamento la connessione da remoto al database?
Perchè con il servizio che sto utilizzando ora la connessione è possibile solo da localhost suppongo.

Potrebbe essere, ma forse per un semplice esercizio ti conviene installarti il database il locale e fare tutte le prove del caso. Non so che esigenze hai o avrai, ma ora per fare un SELECT su una tabella, andrei con qualcosa di molto semplice. PHPMYADMIN è poi un modo per accedere al database tramite interfaccia web, ovviamente ti semplifica la vita specie se non sai bene come muoverti.

Fai un po' di prove e divertiti, sei in una fase in cui ogni scoperta è una conquista.

Cya
Grazie della risposta, io utilizzo linux e phpmyadmin non è installabile, lo conosco bene come programma, perchè con il linguaggio php me la cavo molto meglio che col python.
Sto interagendo col database locale mysql di linux e funziona tutto abbastanza bene.
Ora cercherò di approfondire il python attraverso qualche guida/libro/manuale.....


Pagina: 1



Esegui il login per scrivere una risposta.