亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Oracle SODA API for java - 異常 - 缺少右括號

Oracle SODA API for java - 異常 - 缺少右括號

隔江千里 2023-08-09 15:08:27
我正在使用適用于 JAVA 的 Oracle SODA API。我使用的是oracle 12c數據庫。我正在嘗試在字段上使用 desc 排序從集合中獲取所有記錄。我已經寫了這樣的查詢,{ "$query" : {}, "$orderby" : { "LmCreatedOn" : -1}}這是java代碼,//  connection code goes above final OracleDocument document = db.createDocumentFromString("{ \"$query\" : {}, \"$orderby\" : { \"LmCreatedOn\" : -1}}");            final OracleCursor cursor = db.openCollection(SC_LMS_ADMIN_COURSE).find().filter(document).getCursor();            List<JsonNode> listDto = new ArrayList<JsonNode>();            while(cursor.hasNext()) {                final OracleDocument doc = cursor.next();                listDto.add(JacksonUtils.getObjectMapper().readTree(doc.getContentAsString()));             }但我遇到了一個例外,oracle.soda.rdbms.impl.SODAUtils$1OracleSQLException 在 oracle.soda.rdbms.impl.SODAUtils.makeExceptionWithSQLText(SODAUtils.java:112) 在 oracle.soda.rdbms.impl.SODAUtils.makeExceptionWithSQLText(SODAUtils.java:75) oracle.soda.rdbms.impl.OracleOperationBuilderImpl.getResultSet(OracleOperationBuilderImpl.java:684) 在 oracle.soda.rdbms.impl.OracleOperationBuilderImpl.getResultSet(OracleOperationBuilderImpl.java:655) 在 oracle.soda.rdbms.impl.OracleOperationBuilderImpl.getCursor( OracleOperationBuilderImpl.java:702) 位于 com.cisco.salesconnect.lms.SCLmsServiceHandler.getLMSCourses(SCLmsServiceHandler.java:198) 位于 com.cisco.salesconnect.lms.SCLmsService.getLMSCourses(SCLmsService.java:98) 位于 sun.reflect.NativeMethodAccessorImpl .invoke0(本機方法)位于 sun.reflect.NativeMethodAccessorImpl。在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(Method.java:498)在org.glassfish.jersey.server.model調用(NativeMethodAccessorImpl.java:62) 
查看完整描述

1 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

我通過以下方式解決了這個問題,

根據甲骨文文檔

如果您使用 Oracle 數據庫版本 12c (12.1.0.2),則必須指定 $scalarRequired 或 $lax;否則會引發語法錯誤。

因為我使用的是 Oracle 數據庫版本 12c (12.1.0.2)。我使用的是沒有$scalarRequired.?這就是它拋出語法錯誤的原因。

更新后的查詢是,

{?\"$query\":?{},?\"$orderby\"?:?{?\"$fields\"?:?[{?\"path\"?:?\"LmCreatedOn\",?\"datatype\"?:?\"varchar2\",?\"order\"?:?\"desc\"}],?\"$scalarRequired\"?:?true?}}

這里我也根據oracle 文檔更新了查詢格式。我提供了一些fields額外的細節。此功能出現在最新版本中soda jar 1.1.0


查看完整回答
反對 回復 2023-08-09
  • 1 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號