【发布时间】:2021-10-13 19:44:19
【问题描述】:
我正在读取这样的表格:
query = (
"select mandant,posnr,systemdat,
"lieferbedingung,loeschhafen,bereich,"
"nrkreis_nr from eakopf_t where posnr[10,10] = \" \" and posnr[1,2] not in (\"99\",\"RE\",\"UB\") and mandant <> 999;"
)
df = pd.read_sql(query, engine.connect())
但我收到此错误:
ibm_db_dbi::DatabaseError: SQLNumResultCols failed: [IBM][CLI Driver][IDS/UNIX64] Column ( ) not found in any table in the query (or SLV is undefined). SQLCODE=-217
[SQL: select mandant,posnr,systemdat,lieferbedingung,loeschhafen,bereich,nrkreis_nr from eakopf_t where posnr[10,10] = " " and posnr[1,2] not in ("99","RE","UB") and mandant <> 999;]
是否可以进一步调试导致问题的确切列?因为否则,所有 col 名称似乎都存在于数据集中。
【问题讨论】:
-
没有给你列名很烦人;应该出现在括号中。您似乎拼错了某些列名。您没有使用任何 SLV(语句局部变量)。
-
一种可能是您在运行环境中设置了
DELIMIDENT,在这种情况下,” “将被解释为由一个空格组成的列名。尽管还有其他双引号字符串,但单个空格是第一个,因此将是报告的那个。尝试在字符串周围使用嵌入的单引号。 -
应该标记为informix 而不是db2?
标签: python sql pandas dataframe db2