pymssql - 服务器连接列表而不是一个连接

时间:2016-04-11 07:36:46

标签: python pymssql

我在我的python项目中使用pymssql。 (http://www.pymssql.org/

我有很多数据库服务器经常被复制,我想使用它们,所以如果其中一个服务器出现故障,pymssql可以使用其他服务器。

根据pymssql文档,您只能添加一个连接。

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

有没有办法设置多个服务器?

目前我只能考虑拥有一个服务器列表并使用try除了块来遍历每个服务器。 - 但这看起来很乱。

由于

1 个答案:

答案 0 :(得分:0)

所以一直在寻找好几个小时,我决定选择try除外列表。这是我们信息的代码。

@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

如果有更好的方法请告诉我!感谢。