Próbuję połączyć się z serwerem SQL Azure przy użyciu pymssql Pythona. Problem polega na tym, że poniższy skrypt działa, ale tylko czasami, inne czasy otrzymuję ten błąd:pymssql: Połączenie z bazą danych działa tylko czasami
_mssql.MSSQLDatabaseException: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n')
Jest to skrypt używam:
import pymssql
conn = pymssql.connect(server='x', user='x', password='x', database='x')
cursor = conn.cursor()
cursor.execute('SELECT * FROM customers');
row = cursor.fetchone()
while row:
print (str(row[0]) + " " + str(row[1]) + " " + str(row[2]))
row = cursor.fetchone()
Byłoby mi bardzo pomocne, jeśli ktoś może mi powiedzieć, dlaczego powyższy skrypt działa tylko czasami, a reszta razy pojawia się błąd "Połączenie serwera Adaptive Server nie powiodło się".
Dzięki za tę odpowiedź, naprawdę pomocne rzeczy. Kolejną rzeczą, która mi pomogła, było skorzystanie z puli połączeń: http://docs.sqlalchemy.org/en/latest/core/pooling.html – dmn
Każdy pomysł, dlaczego to się nie udaje "tylko czasami"? Też doświadczyłem tego przy użyciu adaptera opartego na FreeTDS w PHP, gdzie może się nie udać 1/50 prób połączenia z tym błędem. Wydaje się to dziwne, spodziewałem się, że to albo zadziała, albo nie, a nie dziwaczna okazjonalna porażka. Wydaje się, że to rozwiązanie naprawiło problem, dlatego bardzo dziękuję za informacje :-) – DaveRandom