使用python IngreDBI模块以矢量方式描述表时出错
我正在使用python入口模块与矢量数据库进行连接。 请描述我使用的代码如下所示的表格:使用python IngreDBI模块以矢量方式描述表时出错,python,vectorwise,Python,Vectorwise,我正在使用python入口模块与矢量数据库进行连接。 请描述我使用的代码如下所示的表格: import ingresdbi local_db = ingresdbi.connect(database ='x',uid ='y',driver ='z',pwd ='p') local_db_cursor = local_db.cursor() local_db_cursor.execute('help tran_applog ; ' ) 我得到这个错误: 解决方案将不胜感激。谢谢您遇到的问题是
import ingresdbi
local_db = ingresdbi.connect(database ='x',uid ='y',driver ='z',pwd ='p')
local_db_cursor = local_db.cursor()
local_db_cursor.execute('help tran_applog ; ' )
我得到这个错误:
解决方案将不胜感激。谢谢您遇到的问题是,“帮助”不是DBMS服务器能够理解的真正的SQL语句。它实际上是一个终端监视器命令,可以转换为一些针对封面下系统目录的查询 另一种选择取决于您试图从“描述表”中得到什么。与表和列信息相关的系统目录是iitables和iicolumns,您可以对它们进行选择。检查文档或实验 或者,您可以从IngreDBI获得一个行描述符,请参见这里的示例
HTH我认为您应该像在任何其他shell脚本中一样执行此操作:
echo“help tran_applog;”sqlmydatabase
原因:“帮助”不是标准的SQL语句
正如PaulM所建议的,获取表元数据的最佳选择是查询系统目录(iitables、iicolumns、iirelation等)
从以下内容开始:
SELECT C.column_name, C.column_datatype
FROM iitables T, iicolumns C
WHERE T.table_name = C.table_name
AND T.table_name = 'tran_applog';\g
SELECT C.column_name, C.column_datatype
FROM iitables T, iicolumns C
WHERE T.table_name = C.table_name
AND T.table_name = 'tran_applog';\g