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






