问题标签 [sqlsoup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
808 浏览

many-to-many - SqlSoup 关联()用于多对多关系抛出异常

我正在使用以下代码将 SqlSoup 与现有数据库一起使用。

但是,最后一次relate()调用会引发异常:

这些表是使用以下定义创建的:

如果您要问“当他可以使用真正的 SQLAlchemy 时,为什么还要使用 SqlSoup?”:我正在写一篇关于 SQLAlchemy 的学期论文,我在一章中提到了 SqlSoup,我想添加一个示例. 还有什么比使用我用于 SA 示例的数据库更容易的...

0 投票
3 回答
4654 浏览

python - 如何在循环中更新 SQL Alchemy 中的记录

我正在尝试使用 SQLSoup - SQLAlchemy 扩展来更新 SQL Server 2008 数据库中的记录。我正在使用 pyobdc 进行连接。有许多问题使得很难找到相关的例子。

我在一个非常大的表(200 万+条记录)中重新投影几何字段,因此无法使用许多更新字段的标准方法。我需要从几何字段中提取坐标到文本,将它们转换并传回。这一切都很好,所有单独的部分都在工作。

但是我想在每一行上执行一个 SQL Update 语句,同时逐个循环记录。我假设这会锁定记录集,或者连接正在使用中 - 就好像我使用下面的代码在成功更新第一条记录后挂起一样。

任何有关如何创建新连接、重用现有连接或以另一种方式完成此操作的建议都将受到赞赏。

更新的工作代码现在看起来像这样。它在一些记录上运行良好,但挂在整个表上,所以我猜它正在读取太多数据。

我现在收到连接繁忙错误。

DBAPIError: (Error) ('HY000', '[HY000] [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt (0) (SQLExecDirectW)')

看起来这可能是 ODBC 驱动程序的问题 - http://sourceitsoftware.blogspot.com/2008/06/connection-is-busy-with-results-for.html

进一步更新

在使用探查器的服务器上,它显示 select 语句,然后第一个 update 语句正在“开始”,但都不完整。如果我将 Select 语句设置为返回前 10 行,那么它会完成并运行更新。

我相信这是pyodbc和 SQL Server 驱动程序的问题。如果我删除 SQL Alchemy 并使用 pyodbc 执行相同的 SQL,它也会挂起。即使我为更新创建了一个新的连接对象。

我还尝试了 SQL Server Native Client 10.0 驱动程序,该驱动程序旨在允许 MARS -多个活动记录集,但它没有任何区别。最后,我求助于“分页结果”并使用 pyodbc 和 SQL 更新这些批次(见下文),但是我认为 SQLAlchemy 可以自动为我完成此操作。

0 投票
1 回答
1490 浏览

sql - 如何在 SQLAlchemy 或 SqlSoup ORM 中自动反映表关系?

如何告诉 SQLAlchemy 自动将基本外键引用反映为对其他 ORM 对象而不是整数字段的引用?

SQLAlchemy和它的SqlSoup中,表列会自动反映,并且可以手动定义关系:

...

0 投票
1 回答
1315 浏览

python - 如何将 TIMESTAMPDIFF 添加到 SqlSoup 查询?

我有一个正在运行和使用 SqlSoup 的报告程序,并且现在由 SqlSoup 调用生成整个查询,但 MySqL Function 除外TIMESTAMPDIFF

实际的 SQL 短语应该是

我试过了

和 where 子句短语(rc参考数据库和表)

这可以编译,但是登录后会显示PERIODas%sPERIOD 下面的参数,这似乎不起作用。

使用 SqlSoup 执行此操作的任何想法?

0 投票
1 回答
1462 浏览

python - SqlAlchemy“已经有太多客户”错误

我对 python 和金字塔框架相当陌生。最近我被介绍给 SQLSoup 来处理我的数据库(postgres)需求。

一切都很好,但是在使用金字塔应用程序的短时间内,我收到了这个错误消息。我必须杀死金字塔才能释放 postgres 中的所有空闲连接(在抛出异常之前大约有 50 个空闲连接)

我的问题是,如何关闭这个空闲连接,我尝试添加如下所示的一行代码,但它没有帮助。

来自 SQLAlchemy 大师的任何指针?

0 投票
1 回答
332 浏览

python - 使用 SqlSoup 在 Postgres 中进行数据转换

我在 Postgres 数据库中有大量事件数据集,太大而无法在内存中分析。因此,我想将日期时间量化为定期间隔,并在返回结果之前在数据库中执行分组操作。我想我会使用 SqlSoup 来遍历相应表中的记录并进行必要的转换。不幸的是,我无法弄清楚如何以一种不会将每条记录的引用一次加载到内存中的方式执行迭代。是否有某种方法可以一次获取一个记录引用,以便访问数据并根据需要更新每条记录?

任何建议将不胜感激!

克里斯

0 投票
1 回答
302 浏览

python - 进行联接时如何更改 SqlSoup / SqlAlchemy 中的 FROM 子句?

我希望能够进行联接并从结果中的两个表中取回特定字段。

我正在执行以下操作:

对于每个结果, 都entry包含 的所有字段,table_B并且不给我任何 的字段table_A。我意识到默认情况下会发生这种情况,因为字段名称不明确。但是,我想手动指定 FROM 子句来覆盖此行为。我查看了文档,更改 FROM 子句似乎并非易事。我无法成功地做到这一点。

如果有人可以建议我可以对上面的代码进行正确的修改,以便能够entry.my_col在.my_coltable_A

谢谢!

0 投票
1 回答
141 浏览

python - sqlsoup 插入 忽略

我正在使用 sqlsoup 来处理 MySQL 数据库,并且我想运行以下 SQL:

有没有办法使用 sqlsoup 做到这一点?我似乎很难找到比一般的 sqlsoup 标准查询更复杂的信息。有没有我找不到的资源?

0 投票
1 回答
238 浏览

python - 如何使用 sqlsoup 插入字典

我正在尝试使用 sqlsoup 插入字典。不幸的是,这不起作用:

它给了我一个错误

sqlsoup 的更新工作正常。我真的不想把它分解成

这也有效。帮助!

0 投票
1 回答
361 浏览

python - SQLSoup 多个连接

我想使用SQLSoup来查询 MySQL 数据库。

我要发出的查询包含多个连接。不幸的是,教程示例涉及具有完全不同列名的表(跨表没有重复的列名)。

我的情况是,我所有的表都有一个pkey名为id.

我执行以下操作:

结果是:

因此我执行以下操作:s.join(s.with_labels(s.logical_interface), s.with_labels(s.physical_interface), s.physical_interface.id == s.logical_interface.physical_interface_id).first()

结果(请参阅下面的完整查询):

似乎foo每个表都使用相同的表别名,这显然会造成麻烦。

有正确的方法吗?


完整查询: