小编Max*_*ski的帖子

第二次与pyodbc连接到镜像MS SQL Server的Segfault

我正面临着连接到镜像MS SQL服务器数据库的Python脚本的问题.当我第二次尝试连接数据库时,它会抛出一个分段错误.应用服务器和数据库实例都在Google Compute Engine上运行.

这里有一些代码复制了这个问题:

import pyodbc

params = {
   'autocommit': True,
   'uid': 'myuser',
   'tds_version': '8.0',
   'DRIVER': '{mssql}',
   'pwd': 'mypassword',
   'server': 'sql-server-01',
   'database': 'mydb',
   'port': 1433,
}

c1 = pyodbc.connect(**params)
c2 = pyodbc.connect(**params)
Run Code Online (Sandbox Code Playgroud)

第一个连接(c1)成功,但第二个连接(c2)立即失败并出现segfault."mydb"镜像到第二个服务器(sql-server-02).使用非镜像数据库或禁用此数据库的镜像会使其消失.

我们已经尝试升级几个库,但这并没有解决问题.版本:

  • Microsoft SQL Server:12.00.2000(最新)
  • Python:2.7.6
  • pyodbc:3.0.10(最新)
  • unixODBC:2.2.14p2-5ubuntu5,2.3.0,2.3.4(最新)
  • RedHat的MS ODBC驱动程序:11.0.1790.0,11.0.2270.0(最新)

要在此添加,执行相同步骤的Java代码可以正常工作.

有任何想法吗?

python sql-server pyodbc segmentation-fault database-mirroring

6
推荐指数
1
解决办法
830
查看次数

Foursquare API:获取特定区域的详尽场地列表

我正在使用Foursquare API来获取某个类别的场地列表.一个重要的要求是列表是详尽的,即包括所有相关点.v2 /场所/搜索API端点在输出上强制限制50个场地.因此,想到的第一个想法是将区域分成几个部分(使用"sw"和"ne"参数)然后组合结果.

显然,点的密度会根据位置而有很大的不同,因此我们需要使用某种自适应算法来灵活调整搜索窗口的大小,使其包含所有点.此外,进入速率限制的风险也在增加,因此我们可能需要算法在用完其请求配额时停止.

最后,似乎判断搜索窗口是否应该进一步缩小的唯一方法是计算结果中的点数:如果我们的数量少于50,那么我们就有了这个部分的完整列表并且可以继续下一个; 否则,我们应该进一步分裂.这似乎是浪费,因为我们将丢弃中间结果(即除了叶子之外我们的搜索树中的所有结果).

所以这里有一些问题:

  • 这是列出详尽清单的最佳方式吗?也许我错过了一些API功能?
  • 在这种情况下你有没有特定的算法?
  • 您如何减少必须丢弃的结果数量?

提前致谢!

api foursquare

4
推荐指数
1
解决办法
6077
查看次数