Saya telah berhasil menyelesaikan masalah. Memanggil conn.commit()
membuat kursor kehilangan hasilnya. Saya mungkin salah membaca beberapa dokumentasi pymssql dan menambahkan baris itu secara tidak sengaja - kode berfungsi sempurna tanpanya.
EDIT :Saya perhatikan setelah saya membuat perubahan ini, prosedur tersimpan akan mengembalikan hasil namun bagian penyisipan/pembaruan prosedur tidak disimpan. Sekarang jelas bagi saya apa conn.commit()
sedang melakukan. Jika prosedur tersimpan Anda mengembalikan hasil DAN membuat perubahan pada database, Anda perlu memanggil conn.commit()
setelah Anda mengambilnya.
server = 'MY\SERVER'
user = 'user'
password = 'password'
database = 'db'
proc = 'checkin'
with pymssql.connect(server, user, password, database) as conn:
with conn.cursor() as cursor:
cursor.callproc(proc, (eha, ip, url, alias, location, rotation))
cursor.nextset()
results = cursor.fetchall()
conn.commit()
f = open('/var/wwwdata/locations.txt', 'w')
for result in results:
print result[0]
f.write(result[0])
f.close()