public async System.Threading.Tasks.Task GatAndUseRefCursorToJtoken() { // Replicate of test of https://docs.oracle.com/database/121/ODPNT/featRefCursor.htm#ODPNT319 ////////////////////////////////////////////////// /// Get refcursor var oracleParam = new OracleParametersForTask { DataType = OracleParametersForTask.ParameterDataType.RefCursor, Name = "outRefPrm", Value = DBNull.Value, Size = 0 }; var output = new OutputProperties { DataReturnType = OracleCommandReturnType.Parameters }; var input = new Input { ConnectionString = connectionString, CommandOrProcedureName = "begin open :1 for select col1 from test; end;", CommandType = OracleCommandType.Command, BindParametersByName = false, TimeoutSeconds = 60 }; output.OutputParameters = new OracleParametersForTask[1]; output.OutputParameters[0] = oracleParam; var result = await ExecuteCommand.Execute(input, output, _taskOptions); ////////////////////////////////////////////////// /// Ref cursor to JToken var secondInput = new RefCursorToJTokenInput { Refcursor = result.Result[0] }; var secondResult = ExecuteCommand.RefCursorToJToken(secondInput); StringAssert.Contains(@"[{""COL1"":1.0}]", JsonConvert.SerializeObject(secondResult.Result)); }