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

Rispondere a