oracle 标示符太长,Python错误:cx_Oracle.Database错误:ORA00972:标识符太长

我试图使用cx_Oracle在Python上运行一个SQL查询,并一直得到一条错误消息,整个错误如下所示:Traceback (most recent call last):

File "Z:\fex\petrolpanel\PPL.PY", line 45, in ''

curs.execute(sql)

cx_Oracle.DatabaseError: ORA-00972: identifier is too long

一开始我以为这是因为我正在将一些变量解析到查询中,但是我删除了这些变量,然后我认为这是因为原始变量上有一些内置的计算,所以我也删除了。它仍然不起作用。在

以下是脚本的相关部分:sql = """"

SELECT PERIOD_YEAR, PERIOD_WEEK, PURCHASE_NUMBER,

VALIDATION_FIELD, ORIGINAL_VAL_FIELD, SHOP_CODE,

QUANTITY, TOTAL_PRICE

FROM OPS$OM1.ET0800

WHERE DELETE_FLAG = 'N' AND LATE_FLAG = 'E' AND ERROR_FLAG <> 'F'

AND VALIDATION_FIELD < 100 AND PERIOD_YEAR = 2016 AND PERIOD_WEEK BETWEEN 41 AND 44

"""

# Execute SQL

curs.execute(sql)

rows = curs.fetchall()

在这之前一切都很好,而在这之后什么都不会发生。有什么问题吗?当我在谷歌上看到错误时,我得到:You tried to reference a table, cluster, view, index, synonym, tablespace, or username with a value that was longer than 30 characters.

但是这个查询没有超过30个字符,我认为最长的字段是18个字符,而表名本身只有6个字符。我可以在Oracle Developer上运行这个查询,也没有任何问题。在

请帮帮我。在

你可能感兴趣的:(oracle,标示符太长)