Ok, ottima idea.
Per quanto rigaurda il modulo, è il primo e l'unico che ho trovato.
Ma essendo nuovissimo di python... potrei aver cercato nei posti sbagliati.
Un'altra domanda molto semplice per intasare la ml :)
Vorrei fare un semplice script che mi controlla che la porta di mssql sia
effettivamente aperta su 5 host prima di collegarmi. Un semplice port scanner.
Scusate la formattazione che con il webmail di google potrebbe scazzare...
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.settimeout(5);
try:
code = s.connect((ip,port))
except socket.timeout:
print "timeout!"
if (code == None):
s.shutdown(socket.SHUT_RDWR)
s.close()
print ip,"Port",port,"open"
Per il momento non funziona. Al primo ip con la porta chiusa, lo script esce con
Traceback (most recent call last):
File "test.py", line 31, in ?
code = s.connect((ip,port))
File "<string>", line 1, in connect
socket.timeout: timed out
Grazie ancora
Il 27/07/06, Nicola Larosa <[EMAIL PROTECTED]> ha scritto:
>> Se però il server non è raggiungibile ottengo in output un messaggio
>> del genere:
>>
>> _mssql.error: DB-Lib error message 20009, severity 9:
>> Server is unavailable or does not exist.
>>
>> Come potrei gestire questo errore in maniera "elegante"?
> Non conosco il modulo in questione ma ti potrei consigliare
>
> import _mssql
>
> try:
> mssql=_mssql.connect('127.0.0.1 <http://127.0.0.1>','sa','')
> except:
> mssql=None
Per favore, no.
Non silenziate gli errori con una except vuota: non saprete più cos'è successo.
Come minimo fate:
try:
mssql = _mssql.connect('127.0.0.1 < http://127.0.0.1>','sa','')
except Exception, err:
print err
Meglio ancora specificare l'eccezione:
try:
mssql = _mssql.connect('127.0.0.1 <http://127.0.0.1>','sa','')
except _mssql.error, err:
print err
così altre eccezioni non gestite daranno un traceback completo.
Infine, non uso SQL Server ma quel "_mssql" mi puzza di variabile interna.
Non c'è qualcosa di più ufficiale da usare?
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python