我收到以下错误:AeSymResolveStatement [775] ...语句(108,512)中位置34338处或附近的元SQL错误。 SQL语句本身超过40,000个字符,因此问题。
数据库是oracle。在工具8.49.24上运行。
答案 0 :(得分:2)
我知道应用程序引擎中使用的SQL的大小有限(SQL步骤)。我曾尝试在应用程序引擎中使用异常长的SQL时收到类似的错误。
如果同样的限制适用于SQL对象,我不会感到惊讶。
为了解决这个问题,我能够将SQL拆分为2(是一个更新语句)。希望你的情况也是可能的。
答案 1 :(得分:1)
没有这样的限制。
您可以通过创建如下的SQL来自行确认:
select 'x' from PS_INSTALLATION where
1 = 1 and
1 = 1 and
1 = 1 and
1 = 1 and
/* ... copy paste '1 = 1 and' 90000 times or so times more */
1 = 1
虽然它使得pside很慢,但它可以保存和验证。
答案 2 :(得分:1)
PeopleCode中存在限制,主要是由于字符串长度的限制,但我从未发现存储的SQL语句的限制。
答案 3 :(得分:0)
就个人而言,我会考虑以某种方式将声明分成几部分。
你可以:
除了给你的数据库一个心脏病发作,而不是在他看到SQL监视器中的语句时提及DBA。如果你不得不再次看一下这句话,你就是在拯救自己一个痛苦的世界。
我认为App Engines中的SQL存储为long,因此在Oracle下它将是4GB,在DB2下也是如此。