NetSuite ODBC限制

本教程将介绍NetSuite ODBC限制的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

NetSuite ODBC限制 教程 第1张

问题描述

我想知道有什么人知道NetSuite的ODBC SuiteAnalytics Connect Service通过OpenQuery使用的限制列表?我遇到了许多问题,我的一些更复杂的查询没有明显的原因失败,我最终开始将其缩小到某种奇怪的限制,这是我在Oracle ODBC中没有预料到的。以下是我到目前为止发现的几个例子:

    无法使用基本CTE

基本Oracle查询:

在SQL Server中作为CTE的基本查询:

通过OpenQuery在Oracle NetSuite中作为CTE的基本查询(注意基本("不工作")的无用响应:

    无法使用TRUNC(日期)函数

选择SYSDATE:

选择并截断SYSDATE(注意错误,即使according to Oracle, the format parameter is OPTIONAL:

使用两个明显必需的参数(使用Oracle页面中的有效"格式"掩码)选择和截断SYSDATE。注意"TRUNC返回错误"的无用错误:

    无法使用LISTAGG()函数

项目全名基本查询:

同一查询在尝试使用Oracle's correct format for LISTAGG时,请再次注意无用的"SQL语句中的语法错误":

    单独运行良好的子查询由于某种原因插入到较大的查询中时似乎会失败(即将推出的示例™)

我正在努力理解这些限制并了解它们是什么,但这就像是在戳黑匣子!

推荐答案

作为我之后的任何人的后续...

我直接联系了NetSuite,因为我在其他地方找不到答案,他们告诉我他们只支持SQL-92中存在的方法和对象。

以下是他们的回应:

根据我们的项目经理的说法,用户没有直接连接到Oracle数据库。SuiteAnalytics Connect使用其自己的(虚拟)架构,可通过与SQL-92兼容的方式进行查询。

某些特定于Oracle的函数也可以工作,但不能保证正常工作。建议>用户不要使用取决于Oracle DB版本的查询。

因此,虽然这非常令人沮丧,但看起来任何想要对NetSuite的SQL实现做些什么的人都不能使用SQL-92或更低版本中已经不存在的任何东西。因此,CTE和ListAgg()已退出。

好了关于NetSuite ODBC限制的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。