【问题标题】:VoltProcedure.call()--TypeError: an interger is required for Python2.7 Decimal datatypeVolt Procedure.call()--TypeError: Python2.7 Decimal 数据类型需要一个整数
【发布时间】:2018-04-11 07:37:16
【问题描述】:

这是我的代码:

from voltdbclient import *
from decimal import *

client = FastSerializer("s7biapp26", 21212)
proc = VoltProcedure(client, "test2_insert", [FastSerializer.VOLTTYPE_DECIMAL])
proc.call([Decimal(129)])
client.close()

这段代码用Python3.X可以成功运行,但是报错

TypeError:需要一个整数

对于 Python2.7,仅适用于十进制数据类型。如何避免此错误?

enter image description here

【问题讨论】:

  • 猜到问题并清理格式
  • 请不要使用图像来显示错误 - 而是复制和粘贴,这样可以搜索。

标签: python-2.7 client decimal voltdb


【解决方案1】:

我能够重现此问题并且我已经logged a bug。我不确定是否有一个简单的修复方法,但是如果您需要使用 python 2.7,一个选项是您可以使用 Github 上的主要 VoltDB/voltdb 项目中提供的旧版本的 python 驱动程序。该版本实际上适用于 python 2.6 或更高版本,但不支持 python 3。您可以在这里找到它:

https://github.com/VoltDB/voltdb/blob/master/lib/python/voltdbclient.py

此版本的驱动程序由一些 VoltDB 命令行实用程序使用,并与数据库一起进行版本控制和测试。

免责声明:我在 VoltDB 工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2015-07-14
    相关资源
    最近更新 更多