evancao 发表于 2014-12-2 20:42:00

参数允许多值 报错

各位,在交互选择的例子中,允许参数多值。 在sql中 使用in (:param)   
win7 64bit+oracle11g+activereports 9

报错如下:
错误明细:
GrapeCity.ActiveReports.ReportException: 发生了一个意外错误。更多信息: 'ORA-00904: "E": invalid identifier
' ---> System.Data.OracleClient.OracleException: ORA-00904: "E": invalid identifier

   at #UwA.#uue.ExecuteReader(IDbConnection connection, IDbTransaction transaction, #PTe expressionEvaluatorFactory)
   at #2wA.#9Ve.#U.#aWe.#Kcf(#bVe recordManager, #PTe expressionEvaluatorFactory)
   at #2wA.#9Ve.#Kcf(#dWe[] commands, #PTe expressionEvaluatorFactory)
   at #2wA.#1Ve.#aBA()
   at GrapeCity.ActiveReports.ReportsCore.Rendering.ReportProcessor.#dEf(ReportDataDefinition reportDataDef)
   at GrapeCity.ActiveReports.ReportsCore.Rendering.ReportProcessor.#Tol()
   at GrapeCity.ActiveReports.ReportsCore.Rendering.ReportProcessor.#fn(Boolean forceDataRefresh, Boolean forceParameterDataRefresh)
   at GrapeCity.ActiveReports.Document.PageDocument.#0Kf(Boolean forceDataRefresh, Boolean forceParameterDataRefresh)
   --- End of inner exception stack trace ---
   at GrapeCity.ActiveReports.Document.PageDocument.#0Kf(Boolean forceDataRefresh, Boolean forceParameterDataRefresh)
   at GrapeCity.ActiveReports.Document.PageDocument.Render(IRenderingExtension renderingExtension, StreamProvider streams, NameValueCollection settings, Boolean forceDataRefresh, Boolean forceParameterDataRefresh)
   at GrapeCity.ActiveReports.Viewer.Win.Rdlx.RdlReport.<>c__DisplayClassf.<LoadImpl>b__b()
   at GrapeCity.ActiveReports.Viewer.Win.AsyncLoader.<>c__DisplayClass7.#cAz(Object , DoWorkEventArgs )
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

iceman 发表于 2014-12-3 14:17:00

回复 1楼evancao的帖子

你好,
请问1#指的交互选择例子是哪一个?博客文章还是?

我参考:http://blog.gcpowertools.com.cn/post/2013/12/17/ActiveReports_Parameter_MultiValues.aspx
进行多选参数设置并没有重现问题。

由于我们没有 Oracle 数据库测试环境,所以这个问题我们将使用 Access或SQL Server 进行测试。

谢谢

evancao 发表于 2014-12-3 14:56:00

回复 2楼iceman的帖子

oraclesql语句中的参数形式是 :param 但是,:param是允许多值的话会产生这个错误。

iceman 发表于 2014-12-3 20:51:00

回复 3楼evancao的帖子

这个问题我需要和产品组询问是否支持,有进一步消息反馈给你。谢谢

iceman 发表于 2014-12-4 17:05:00

回复 3楼evancao的帖子

您好,

不好意思,由于我们没有 Oracle 测试环境,所以希望您能做以下尝试:
1.简化 SQL 语句,类似于 select * from table in :param 形式来简化这个问题。
2.参数的数据类型如果是字符串类型请尝试使用 '' 单引号标记。

没能给您提供更多的帮助,很抱歉。
谢谢

iceman 发表于 2014-12-12 09:17:00

回复 3楼evancao的帖子

请问目前问题进展如何?
页: [1]
查看完整版本: 参数允许多值 报错