我收到以下錯誤:AeSymResolveStatement [775] ...語句(108,512)中位置34338處或附近的元SQL錯誤。 SQL語句本身的長度超過40,000個字符,因此是個問題。PeopleSoft App Engine SQL步驟/操作中的SQL文本是否有大小限制?
DB是oracle。在工具上運行8.49.24。
我收到以下錯誤:AeSymResolveStatement [775] ...語句(108,512)中位置34338處或附近的元SQL錯誤。 SQL語句本身的長度超過40,000個字符,因此是個問題。PeopleSoft App Engine SQL步驟/操作中的SQL文本是否有大小限制?
DB是oracle。在工具上運行8.49.24。
沒有這樣的限制。
您可以通過創建一個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
雖然它使p側相當緩慢,這保存和驗證就好了。
PeopleCode中有限制,主要是由於字符串長度的限制,但是我從來沒有發現存儲SQL語句的限制。
我知道應用程序引擎(SQL步驟)中使用的SQL的大小有限制。在嘗試在應用程序引擎中使用異常長的SQL時,我曾經收到類似的錯誤。
如果相同的限制適用於SQL對象,我不會感到驚訝。
要解決這個問題,我能夠將SQL拆分爲2個(是更新語句)。希望你的情況也是如此。
就我個人而言,我會考慮以某種方式將聲明分解成幾部分。
,你可以:
除了給你的數據庫一個心臟癲癇發作之外,當他看到SQL監視器中的語句時不提及DBA。如果你再次看到這個陳述,那麼你正在拯救自己一個痛苦的世界。
我認爲App Engines中的SQL存儲爲long,所以在Oracle下是4GB,在DB2下是類似的。