本文介紹了NetSuite ODBC限制的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我想知道有沒有人知道NetSuite的ODBC SuiteAnalytics Connect Service通過OpenQuery使用的限制列表?我遇到了許多問題,我的一些更復(fù)雜的查詢沒有明顯的原因失敗,我最終開始將其縮小到某種奇怪的限制,這是我在Oracle ODBC中沒有預(yù)料到的。以下是我到目前為止發(fā)現(xiàn)的幾個(gè)例子:
無法使用基本CTE
基本Oracle查詢:
在SQL Server中作為CTE的基本查詢:
通過OpenQuery在Oracle NetSuite中作為CTE的基本查詢(注意基本(“不工作”)的無用響應(yīng):
無法使用TRUNC(日期)函數(shù)
選擇SYSDATE:
選擇并截?cái)郤YSDATE(注意錯(cuò)誤,即使according to Oracle, the format parameter is OPTIONAL:
使用兩個(gè)明顯必需的參數(shù)(使用Oracle頁面中的有效”格式”掩碼)選擇和截?cái)郤YSDATE。注意”TRUNC返回錯(cuò)誤”的無用錯(cuò)誤:
無法使用LISTAGG()函數(shù)
項(xiàng)目全名基本查詢:
同一查詢?cè)趪L試使用Oracle’s correct format for LISTAGG時(shí),請(qǐng)?jiān)俅巫⒁鉄o用的”SQL語句中的語法錯(cuò)誤”:
單獨(dú)運(yùn)行良好的子查詢由于某種原因插入到較大的查詢中時(shí)似乎會(huì)失敗(即將推出的示例?)
我正在努力理解這些限制并了解它們是什么,但這就像是在戳黑匣子!
推薦答案
作為我之后的任何人的后續(xù)…
我直接聯(lián)系了NetSuite,因?yàn)槲以谄渌胤秸也坏酱鸢福麄兏嬖V我他們只支持SQL-92中存在的方法和對(duì)象。
以下是他們的回應(yīng):
根據(jù)我們的項(xiàng)目經(jīng)理的說法,用戶沒有直接連接到Oracle數(shù)據(jù)庫。SuiteAnalytics Connect使用其自己的(虛擬)架構(gòu),可通過與SQL-92兼容的方式進(jìn)行查詢。
某些特定于Oracle的函數(shù)也可以工作,但不能保證正常工作。建議>;用戶不要使用取決于Oracle DB版本的查詢。
因此,雖然這非常令人沮喪,但看起來任何想要對(duì)NetSuite的SQL實(shí)現(xiàn)做些什么的人都不能使用SQL-92或更低版本中已經(jīng)不存在的任何東西。因此,CTE和ListAgg()已退出。
這篇關(guān)于NetSuite ODBC限制的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,