我尝试使用 Python API 从 GridDB 容器检索数据,但它没有返回任何结果。这是我的代码:
import griddb_python as griddb
factory = griddb.StoreFactory.get_instance()
store = factory.get_store(
host='localhost',
port=2406,
cluster_name='mycluster',
username='admin',
password='admin'
)
conInfo = griddb.ContainerInfo("mycontainer",
[["id", griddb.Type.INTEGER],
["name", griddb.Type.STRING]],
griddb.ContainerType.COLLECTION, True)
con = store.get_container(conInfo)
query = con.query("select * where id = ?", griddb.Type.INTEGER)
query.set_int(1, 1)
rs = query.fetch(False)
for row in rs:
print(row)
当我运行此代码时,它不会打印任何内容,即使我知道容器中有 ID 为 1 的数据。这可能是什么原因造成的,如何修复它?
我尝试在互联网上寻找解决方案,但似乎没有任何效果。
根据Python API文档:https://griddb.org/python_client/PythonAPIReference.htm
您对查询 obj 的使用不正确。
query.set_int(1, 1)
我不确定您是否尝试插入数据作为测试,但是在文档中,没有名为
set_int
的方法。我认为您更适合使用 GridDB CLI 插入数据,然后以这种方式测试您的 python 脚本,因为这样您就可以 100% 知道数据在那里。
你还应该用 try/ except 来包装你的 python 代码来捕获错误,这样你就不会像你遇到的那样得到零打印