2016-04-11 5 views
0

私は私のpythonプロジェクトにpymssqlを使用しています。 (http://www.pymssql.org/pymssql - 1つの接続ではなくサーバー接続のリスト

私は頻繁に複製される多くのデータベースサーバーを持っています。そのうちの1台が失敗した場合、pymssqlは他のサーバーを使用できます。

pymssqlのドキュメントによれば、接続を1つだけ入れることができます。

http://www.pymssql.org/en/latest/ref/pymssql.html#functions

複数のサーバを設定する方法はありますか?

現時点では、サーバのリストを持っていて、ブロックを除いてtryを使ってそれぞれのサーバをループするとしか思えません。 - しかしそれは乱雑です。

おかげ

答えて

0

は非常に多くの時間を探しまわってされて、私はちょうどリスト除く試しに行くことにしました。ここに私たちの情報のコードです。

@staticmethod 
    def connect(): 
     servers = ["server1", "server2", "server3"] 
     conn = None 
     for server in servers: 
      try: 
       conn = pymssql.connect(server, settings.MSSQL_USERNAME, settings.MSSQL_PASSWORD, settings.MSSQL_DB_NAME, charset="ISO-8859-1") 
       break 
      except: 
       logger.info("Failed to connect to MSSQL Server: " + server) 

     if conn: 
      return conn 
     else: 
      logger.info("Failed to connect to ALL MSSQL servers") 
      return conn 

もっと良い方法がある場合はお知らせください。ありがとう。

関連する問題