【发布时间】:2019-09-26 23:48:14
【问题描述】:
我正在尝试通过 Python 使用 Cdata ODBC 在 Cosmo DB Mongo API 中执行查询。下面是驱动配置:
[CData ODBC Driver for Cosmos DB]
Description=CData ODBC Driver for Cosmos DB 2019
Driver=/opt/cdata/cdata-odbc-driver-for-cosmosdb/lib/libcosmosdbodbc.x86.so
UsageCount=1
Driver64=/opt/cdata/cdata-odbc-driver-for-cosmosdb/lib/libcosmosdbodbc.x64.so
这是我用来进行查询的代码:
import pyodbc
cnxn = pyodbc.connect("DRIVER={CData ODBC Driver for Cosmos DB};AccountEndpoint=https://[myhost].com:443/;AccountKey=[mypass];")
cursor = cnxn.cursor()
# Find Schemas
cursor.tables()
for (catalog, schema, table, table_type, description) in cursor:
print("Catalog: {}, Schema: {}, Table: {}, Type: {}".format(
catalog, schema, table, table_type
))
# Execute Query
cursor.execute("SELECT luistest from luistest")
rows = cursor.fetchall()
for row in rows:
print(row.luistest)
当我执行它时,表和方案的查询返回良好,但是当我查阅文档时收到以下错误:
Catalog: CData, Schema: luis-test, Table: luistest, Type: TABLE
Traceback (most recent call last):
File "mongo_odbc_test.py", line 11, in <module>
cursor.execute("SELECT luistest from luistest")
pyodbc.Error: ('HY000', '[HY000] [Forbidden] Sql api is not supported for this database account\r\nActivityId: 66808c80-83b6-4694-99ac-295693b8f51d, Microsoft.Azure.Documents.Common/2.5.1. (-1) (SQLExecDirectW)')
我有一个学生 Azure 帐户,这会影响吗?是否可以使用此工具在没有 SQL 的情况下进行查询?
谢谢。
【问题讨论】:
标签: odbc azure-cosmosdb pyodbc unixodbc azure-cosmosdb-sqlapi