次のようなことを試すことができます:
#!/usr/bin/python
import socket
mssql_server = 'foobar.example.not' # set this to your own value
s = socket.socket()
s.settimeout(3)
try:
server = [x for x in socket.getaddrinfo(mssql_server,1433) if x[0]==2 ][0][-1]
except socket.gaierror:
server = None
if server:
try:
s.connect(server)
except (socket.timeout, socket.error):
server = None
s.close()
...これにより、サーバーのIPv4アドレスが検索され(によって返された最初のアドレスを使用getaddrinfo()
)、そのシステムのMS SQL TCPポート(デフォルトでは1433)への接続が試行されます。(はい、サーバーが別のポートにある場合は 1433 を変更してください)。試行時にタイムアウトまたはその他のソケット エラーが報告された場合、サーバーは に設定されNone
ます。それ以外の場合は、アクセスできる MS SQL サーバーがある可能性があります。