NetSuite ODBC 限制
NetSuite ODBC Limitations
我想知道是否有人知道通过 OpenQuery 使用的 NetSuite 的 ODBC SuiteAnalytics Connect 服务的任何限制列表?我已经 运行 遇到许多问题,我的一些更复杂的查询无缘无故地失败了,我终于开始将其缩小到某种奇怪的限制,这是我没想到的 Oracle ODBC。以下是我目前发现的一些示例:
- 不能使用基本的 CTE
基本 Oracle 查询:
SQL服务器中作为 CTE 的基本查询:
通过 OpenQuery 在 Oracle NetSuite 中作为 CTE 的基本查询(注意无用的响应基本上是 ("don't work"):
- 无法使用 TRUNC(date) 函数
选择 SYSDATE:
选择并截断 SYSDATE(注意错误,即使 according to Oracle, the format parameter is OPTIONAL:
使用两个明显必需的参数选择和截断 SYSDATE(使用来自 Oracle 页面的有效 "format" 掩码)。请注意无用的错误 "TRUNC returned error":
- 无法使用 LISTAGG() 函数
项目全名的基本查询:
尝试使用 Oracle's correct format for LISTAGG 时的相同查询,请再次注意无用的 "Syntax error in SQL statement":
- 由于某种原因插入到更大的查询中时,本身运行良好的子查询似乎会失败(示例即将推出™)
我试图了解这些限制并了解它们是什么,但这就像戳黑匣子!
作为对我之后的任何人的跟进...
我直接联系了 NetSuite,因为我在别处找不到答案,他们告诉我他们只支持 SQL-92 中存在的方法和对象。
这是他们的回复:
According to our Project Manager,users are not connecting to an Oracle Database >directly. SuiteAnalytics Connect uses its own (virtual) schema that can be queried >in a way that is compliant with SQL-92.
Some Oracle-specific functions work, too, but is not guaranteed to work properly. >Users are discouraged from using queries that depend on version of Oracle DB.
因此,虽然这非常令人沮丧,但看起来任何想要使用 NetSuite 的 SQL 实现做任何事情的人都不能使用 SQL-92 或更低版本中不存在的任何东西。因此,CTE 和 ListAgg() 已过时。
我想知道是否有人知道通过 OpenQuery 使用的 NetSuite 的 ODBC SuiteAnalytics Connect 服务的任何限制列表?我已经 运行 遇到许多问题,我的一些更复杂的查询无缘无故地失败了,我终于开始将其缩小到某种奇怪的限制,这是我没想到的 Oracle ODBC。以下是我目前发现的一些示例:
- 不能使用基本的 CTE
基本 Oracle 查询:
SQL服务器中作为 CTE 的基本查询:
通过 OpenQuery 在 Oracle NetSuite 中作为 CTE 的基本查询(注意无用的响应基本上是 ("don't work"):
- 无法使用 TRUNC(date) 函数
选择 SYSDATE:
选择并截断 SYSDATE(注意错误,即使 according to Oracle, the format parameter is OPTIONAL:
使用两个明显必需的参数选择和截断 SYSDATE(使用来自 Oracle 页面的有效 "format" 掩码)。请注意无用的错误 "TRUNC returned error":
- 无法使用 LISTAGG() 函数
项目全名的基本查询:
尝试使用 Oracle's correct format for LISTAGG 时的相同查询,请再次注意无用的 "Syntax error in SQL statement":
- 由于某种原因插入到更大的查询中时,本身运行良好的子查询似乎会失败(示例即将推出™)
我试图了解这些限制并了解它们是什么,但这就像戳黑匣子!
作为对我之后的任何人的跟进...
我直接联系了 NetSuite,因为我在别处找不到答案,他们告诉我他们只支持 SQL-92 中存在的方法和对象。
这是他们的回复:
According to our Project Manager,users are not connecting to an Oracle Database >directly. SuiteAnalytics Connect uses its own (virtual) schema that can be queried >in a way that is compliant with SQL-92.
Some Oracle-specific functions work, too, but is not guaranteed to work properly. >Users are discouraged from using queries that depend on version of Oracle DB.
因此,虽然这非常令人沮丧,但看起来任何想要使用 NetSuite 的 SQL 实现做任何事情的人都不能使用 SQL-92 或更低版本中不存在的任何东西。因此,CTE 和 ListAgg() 已过时。