找回密码
 立即注册

QQ登录

只需一步,快速开始

Millu

注册会员

3

主题

14

帖子

37

积分

注册会员

积分
37
最新发帖
Millu
注册会员   /  发表于:2023-5-5 16:40  /   查看:3107  /  回复:12
1金币


教程给的说法是选中数据库类型是Oracle
但是实际上不支持这个类型

实际:

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

12 个回复

正序浏览
Felix.LiWyn认证
超级版主   /  发表于:2023-5-6 17:20:42
13#
Millu 发表于 2023-5-6 16:58
请问,错误明细:
GrapeCity.ActiveReports.ReportException: 一个意料之外的问题发生了。 其他信息:“O ...

看情况是您没有装Oracle.ManagedDataAccess
您nuget 装一下Oracle.ManagedDataAccess
回复 使用道具 举报
Millu
注册会员   /  发表于:2023-5-6 16:58:31
12#
Bella.Yuan 发表于 2023-5-6 16:56
您好,您使用上面回复的任意一个方法,先创建数据源,创建后再创建数据集,再到使用组件展示数据,预览时 ...

请问,错误明细:
GrapeCity.ActiveReports.ReportException: 一个意料之外的问题发生了。 其他信息:“ORA-12541: TNS: 无监听程序” ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-12541: TNS: 无监听程序 ---> OracleInternal.Network.NetworkException: ORA-12541: TNS: 无监听程序 ---> System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:1521
   在 System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
   在 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   在 OracleInternal.Network.TcpTransportAdapter.ConnectIterate()
   --- 内部异常堆栈跟踪的结尾 ---
   在 OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
   在 OracleInternal.Network.OracleCommunication.Connect(String tnsDescriptor, Boolean doNAHandshake, String IName, ConnectionOption CO)
   在 OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
   --- 内部异常堆栈跟踪的结尾 ---
   在 OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
   在 OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
   在 OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)
   在 Oracle.ManagedDataAccess.Client.OracleConnection.Open()
   在 GrapeCity.ActiveReports.Rendering.DataProcessing.RecordsAdapter.<GetEnumerator>d__7.MoveNext()
   在 GrapeCity.Enterprise.Data.DataEngine.Extensions.EnumerableExtensions.MemoizedReadOnlyList`1.CacheItem()
   在 GrapeCity.Enterprise.Data.DataEngine.Extensions.EnumerableExtensions.MemoizedReadOnlyList`1.<GetEnumerator>d__6.MoveNext()
   在 System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
   在 GrapeCity.ActiveReports.Rendering.ReportDataProcessor.GetRecordSet(IList`1 finalizers, BuildCommandFn buildCommandFn, DataParameter[] parameters, IDataSet dataSet, IExpressionContext expressionContext, CancellationToken token, IDictionary`2 recordSetsCache)
   在 GrapeCity.ActiveReports.Rendering.ReportDataProcessor.<>c__DisplayClass2_0.<MakeRecordSetFn>b__0(RecordSetKey key)
   在 GrapeCity.ActiveReports.Rendering.Tools.FuncExtensions.<>c__DisplayClass0_0`2.<Memoize>b__0(T x)
   在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.RecordSetProvider.GetDataSet(String name, DataParameter[] parameters)
   在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataProcessor.<>c__DisplayClass13_0.<MakeDataSetFn>b__2(ExecutionContext exc)
   在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataProcessor.<>c__DisplayClass17_1.<MakeScopeFn>b__4(RegionFn fn)
   在 System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   在 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   在 System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataProcessor.<>c__DisplayClass17_1.<MakeScopeFn>b__3()
   在 GrapeCity.Enterprise.Data.DataEngine.DataTree`1.Scope.get_Regions()
   在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataTreeGenerator.<>c__DisplayClass17_1.<MakeScopeFn>b__5()
   在 GrapeCity.Enterprise.Data.DataEngine.DataTree`1.Scope.get_Regions()
   在 GrapeCity.ActiveReports.Rendering.Data.DataScopeBase.GetRegion(String name)
   在 GrapeCity.ActiveReports.Rendering.Components.RenderReportItemFactory.Create(IReportRenderingContext reportRenderingContext, ReportItem rdlItem, IDataScopeInternal currentDataContext)
   在 GrapeCity.ActiveReports.Rendering.ReportRenderingContext.<>c__DisplayClass65_0.<CreateReportItems>b__0(ReportItem item)
   在 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   在 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   在 System.Linq.Enumerable.<ConcatIterator>d__59`1.MoveNext()
   在 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   在 System.Linq.OrderedEnumerable`1.<GetEnumerator>d__1.MoveNext()
   在 System.Linq.Enumerable.<SelectIterator>d__5`2.MoveNext()
   在 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   在 System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   在 GrapeCity.ActiveReports.Layout.L2.CanvasImpl.BuildGraph[T](IEnumerable`1 canvasItems)
   在 GrapeCity.ActiveReports.Layout.L2.Canvas(IEnumerable`1 canvasItems, Boolean galleyMode, Object item, Int32 width, Int32 height, Boolean consumeWhiteSpace)
   在 GrapeCity.ActiveReports.Layout.L2.Canvas(IEnumerable`1 canvasItems, Boolean galleyMode, Object item, Int32 width, Int32 height, Boolean canShrink, Boolean canGrow, Boolean consumeWhiteSpace)
   在 GrapeCity.ActiveReports.Layout.ReportCanvasLayout.Canvas(IEnumerable`1 items, LayoutScope context, Object item, Int32 width, Int32 height, Boolean canShrink, Boolean canGrow, Boolean consumeWhiteSpace)
   在 GrapeCity.ActiveReports.Layout.ReportImpl.BodyLayout(LayoutScope context, IBody body, Object item, Size`1 contentSize, Nullable`1 size, Boolean consumeWhiteSpace, Nullable`1 isFpl)
   在 GrapeCity.ActiveReports.Layout.LayoutEngine.BuildPages(LayoutScope context, Int32 limit)
   在 GrapeCity.ActiveReports.Layout.LayoutEngine.BuildLayout(LayoutInfo layoutInfo)
   在 GrapeCity.ActiveReports.Viewer.Win.Rdlx.GraphicsRenderingExtension.GetLayoutTree(IReport report, ITargetDevice targetDevice, ITextMetricsProvider metricsProvider, LayoutNotificationCallback callback)
   在 GrapeCity.ActiveReports.Viewer.Win.Rdlx.GraphicsRenderingExtension.Render(IReport report)
   在 GrapeCity.ActiveReports.Viewer.Win.Rdlx.GraphicsRenderingExtension.Render(IReport report, StreamProvider streams, NameValueCollection settings)
   在 GrapeCity.ActiveReports.Document.PageDocument.Render(IRenderingExtension renderingExtension, StreamProvider streams, NameValueCollection settings, Boolean forceDataRefresh, Boolean forceParameterDataRefresh, CancellationToken token)
   --- 内部异常堆栈跟踪的结尾 ---
   在 GrapeCity.ActiveReports.Document.PageDocument.Render(IRenderingExtension renderingExtension, StreamProvider streams, NameValueCollection settings, Boolean forceDataRefresh, Boolean forceParameterDataRefresh, CancellationToken token)
   在 GrapeCity.ActiveReports.Viewer.Win.Rdlx.RdlReport.<>c__DisplayClass22_0.<LoadImpl>b__5()
   在 System.Threading.Tasks.Task.InnerInvoke()
   在 System.Threading.Tasks.Task.Execute()
这种报错怎么处理
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-5-6 16:56:17
11#
Millu 发表于 2023-5-6 11:33
请问如何判断数据库是否连接成功了

您好,您使用上面回复的任意一个方法,先创建数据源,创建后再创建数据集,再到使用组件展示数据,预览时就若数据展示就是连接成功,如果有报错,可以根据报错信息具体看看。
回复 使用道具 举报
Millu
注册会员   /  发表于:2023-5-6 11:33:09
10#
Bella.Yuan 发表于 2023-5-5 17:36
您好,如上回复,V14版本及以上需要依赖于第三方的库,您根据您使用的系统参考我上面回复的教程,我这边 ...

请问如何判断数据库是否连接成功了
回复 使用道具 举报
Millu
注册会员   /  发表于:2023-5-6 10:31:18
9#
Felix.Li 发表于 2023-5-6 10:24
您好,我们桌面设计器自带的那个应用已经不支持Oracle Managed Data Access

如果想要桌面设计器连接Or ...

这样呀,我在vscode上运行这个案例报错了,提示未能找到类型或命名空间名,请问这种情况有没有办法处理呀
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-5-6 10:24:12
8#
Millu 发表于 2023-5-6 09:03
就是无法选择对应的Oracle类型,你看我发的图,没有这个类型

您好,我们桌面设计器自带的那个应用已经不支持Oracle Managed Data Access

如果想要桌面设计器连接Oracle,我们提供的是ODBC方法连接
这个需要你去下载 ODBC-Oracle   然后连接字符串可以参考这个: Driver={驱动名称};Server=IP/ServiceName;Uid=****; Pwd=****;

然后上面楼主的截图Oracle Managed Data Access,这个需要用代码生成的那个项目才有,代码下载地址楼主给了
那个是需要在项目中的配置文件中加:


这个需要我们自己开发加这个,才能有这个连接,他也是依赖Oracle.ManagedDataAccess  这个驱动包,连接字符串也是参考这个包

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Millu
注册会员   /  发表于:2023-5-6 10:20:30
7#
Bella.Yuan 发表于 2023-5-6 10:16
您好,您的意思是您成功运行上面的工程后生成的设计器里面没有Oracle的类型吗?我的意思是针对Oracle类型 ...

我是直接在报表设计连接的,这个数据库不在我电脑上,请问这种情况要如何连接了
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-5-6 10:16:07
6#
Millu 发表于 2023-5-6 09:03
就是无法选择对应的Oracle类型,你看我发的图,没有这个类型

您好,您的意思是您成功运行上面的工程后生成的设计器里面没有Oracle的类型吗?我的意思是针对Oracle类型需要依赖第三方,官方提供了对应的示例,您直接下载我上面回复的示例地址,然后解压再vs2022中运行该项目,成功运行后就会弹出一个类似桌面设计器的弹窗,您在这个弹窗里面就可以选择到Oracle,数据源添加后,其他操作和桌面设计器一样。您是这样操作的吗?
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-5-5 17:36:13
4#
本帖最后由 Bella.Yuan 于 2023-5-5 17:38 编辑
Millu 发表于 2023-5-5 17:24
是v16版本,教程里需要添加数据源里面 Oracle Managed Data Access 选项,但是实际上没有该选项

您好,如上回复,V14版本及以上需要依赖于第三方的库,您根据您使用的系统参考我上面回复的教程,我这边使用windows系统测试了16版本是正常的。
下载 Oracel 数据链接的示例地址:https://github.com/activereports/Samples16

下载项目后,如上图示,在VScode中运行,然后选择对应的Oracle类型



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Millu
注册会员   /  发表于:2023-5-5 17:24:40
3#
Bella.Yuan 发表于 2023-5-5 17:05
您好,您使用的是AR的哪个版本呢,从V14版本开始桌面设计器丢弃了直接连 Oracle数据库,所以14版本开始需要 ...

是v16版本,教程里需要添加数据源里面 Oracle Managed Data Access 选项,但是实际上没有该选项
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部