没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2025-04-09 11:08:00.203|阅读 3 次
概述:在本文中,我们将探讨如何在FastReport .NET中配置与 Apache Ignite 的连接。您将学习通过代码和报表设计器连接插件的必要步骤。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
Apache Ignite 是一个分布式内存计算平台,能够在内存中处理和存储大量数据,以实现高性能和可扩展性。
在本文中,我们将探讨如何在FastReport .NET中配置与 Apache Ignite 的连接。您将学习通过代码和报表设计器连接插件的必要步骤。遵循我们的建议,您将能够有效地将 Apache Ignite 用作 FastReport .NET 中报表的数据源。
实现的连接 Apache Ignite 的插件是基于 Ignite.NET Thin Client 的轻量级解决方案。
Ignite 提供了两种逻辑表示数据的方式:键值缓存和 SQL 表(模式)。尽管存在差异,但这些表示方式是等效的,并且可以反映相同的数据。
在 Ignite 中,SQL 表和键值缓存是表示相同内部数据结构的两种等效方式。可以通过键值 API、SQL 运算符或两者同时访问数据。
缓存是键值对的集合,可通过键值 API 访问。Ignite 中的 SQL 表类似于传统数据库管理系统中的表,但有一些额外的约束。例如,每个 SQL 表必须有一个主键。
具有主键的表可以表示为键值缓存,其中主键列充当键,表中的其他列是对象(值)的字段。
这两种数据表示形式之间的主要区别在于访问方式。使用键值缓存,您可以使用支持的编程语言处理对象。另一方面,SQL 表支持标准 SQL 语法,这在从现有数据库迁移数据等情况下非常有用。
要使用该插件,您必须首先构建位于以下位置的项目: ..\Extras\Core\FastReport.Data\FastReport.Data.Ignite。之后,需要注册该插件。注册有两种方式。
方法 1. 使用代码。
复制以下代码并将其粘贴到您的项目中。启动应用程序时只需执行一次即可。
FastReport.Utils.RegisteredObjects.AddConnection(typeof(IgniteDataConnection));
方法二、使用报表设计器。
在设计器中连接连接器,在Ribbon界面中进入“File|Settings...”菜单(或在标准界面中进入“View|Settings...”菜单),在打开的窗口中选择“Plugins”标签,添加插件的内置.dll,如下图所示。
添加插件后,需要重新启动FastReport .NET设计器。
要创建与 Apache Ignite 的连接,请转到“数据”菜单并选择“添加数据源”。
在打开的窗口中,单击“新建连接”按钮,然后从连接类型的下拉列表中,选择“Apache Ignite 连接”选项。在出现的窗口中,指定节点的地址以及用户名和密码(如果需要)。
如果连接成功,下一步将显示上一步指定的节点所包含的表(缓存)列表:
该插件支持使用作为键值对和 SQL 表创建的缓存。
在 Apache Ignite 中创建和配置缓存的方法直接影响字段的组成和数据类型的表示。根据所选方法(例如,使用带有 [QuerySqlField] 属性的类、通过 QueryEntity 进行编程定义或使用动态数据),结果可能会有所不同。这涉及可用字段列表及其数据类型。
以下代码示例将使用来自官方 Apache Ignite 功能示例的代码片段。
让我们打开下载的档案并导航到以下文件夹:
..\apache-ignite-2.17.0-bin\platforms\dotnet\examples\Thin
从这些示例中,我们将使用自定义类 Organization,它表示组织的数据模型。此类包含以下属性:
该类的完整代码可以在以下文件夹中找到:
..\apache-ignite-2.17.0-bin\platforms\dotnet\examples\Shared\Models
QueryEntity 是一个 Apache Ignite 组件,它允许您以编程方式定义缓存的数据结构(模式)并手动指定字段及其类型。
对于带有元数据的缓存(QueryEntity),支持检索字段列表及其数据类型的操作。自定义数据类型按以下方式处理:
例如,如果在设置过程中创建缓存,如下所示:
var organizationCache = ignite.GetOrCreateCache<int, Organization>( new CacheClientConfiguration("dotnet_cache_query_organization", new QueryEntity(typeof(int), typeof(Organization))));
然后,当连接到 FastReport 中已准备好的 Apache Ignite 实例时,字段列表将仅包含来自 Organization 类的标有 [QuerySqlField]属性的字段。
但是,查看数据时,将显示缓存中的所有字段:
如果在设置过程中创建缓存时未使用QueryEntity,则所有字段的数据类型将被定义为字符串。示例代码:
ICacheClient<int, Organization> cache = ignite.GetCache<int, Organization>("dotnet_cache_put_get");
在字段列表中,所有可用字段都会显示,无论是否存在[QuerySqlField]属性。这是创建缓存的第二种方法。
最后,让我们考虑一下使用缓存的第三种方法。以下是创建缓存并将其填充为 SQL 表的示例:
cache.Query(new SqlFieldsQuery( "CREATE TABLE IF NOT EXISTS city (id LONG PRIMARY KEY, name VARCHAR) WITH \"template=replicated\"")).GetAll(); const string addCity = "INSERT INTO city (id, name) VALUES (?, ?)"; cache.Query(new SqlFieldsQuery(addCity, 1L, "Forest Hill")); cache.Query(new SqlFieldsQuery(addCity, 2L, "Denver")); cache.Query(new SqlFieldsQuery(addCity, 3L, "St. Petersburg"));
对于这样的缓存,元数据(QueryEntity)包含有关每个字段的数据类型的信息。
在 Apache Ignite 缓存中,数据存储时可能没有明确定义的字段名称。例如:
var cache = ignite.GetOrCreateCache<int, object>("put-get-example"); int key = 1; var val = new Address("1545 Jackson Street", 94612); cache.Put(key, val); int key1 = 2; var val1 = 942.28956; cache.Put(key1, val1); int key2 = 3; var val2 = "test String"; cache.Put(key2, val2);
当连接到 FastReport 中的 Apache Ignite 实例(使用上面示例中的代码)时,您将看到以下结果。
在此示例中:
对于缺少名称的字段,将生成唯一标识符。
我们已经介绍了如何在 FastReport .NET 中建立与 Apache Ignite 的连接。通过遵循概述的步骤,您将能够集成这些系统并充分利用 Apache Ignite 作为报告的数据源。
Apache Ignite 提供快速的数据访问和处理,而 FastReport .NET 则支持创建功能强大的报告。它们的集成为数据分析和可视化开辟了新的机会。
我们希望本文对您有所帮助,并帮助您在 FastReport .NET 项目中有效地使用 Apache Ignite。
_________________________________________________________
关于慧都科技:
慧都科技是专注软件工程、智能制造、石油工程三大行业的数字化解决方案服务商。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技是FastReports的在中国区的合作伙伴,FastReports作为图表报表领域的优秀产品,帮助企业实现轻松构建高性能的表格及图表。
下载或体验FastReport产品,请咨询,或拨打产品热线:023-68661681
欢迎加入FastReport技术QQ群:1041260168,与更多小伙伴探讨报表开发技能。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:慧都网DHTMLX 产品支持构建功能丰富的预订系统,从而简化针对不同行业的预约安排。Scheduler 组件丰富的功能(可自定义的日历视图、重复事件等)与 Booking 小部件现成的预订管理 UI 相结合,满足您构建现代化 Web 预订解决方案所需。
在 Excel 中删除重复行对于维护干净、准确和一致的数据集至关重要。在本篇博文中,我们将向您展示如何使用 Python 以编程方式删除 Excel 工作表中的重复行。
无论是零售、物流还是医疗保健,旋转条形码图像的功能都能增强不同应用的灵活性和适应性。使用Aspose.BarCode for Java,您可以轻松旋转条形码图像,确保它们无缝融入应用程序的设计和布局。
借助Aspose.Slides for Java,开发人员可以轻松编辑 PowerPoint 幻灯片(包括表格),以增强演示文稿的效果。
用于快速高效地生成报表的附加组件
FastReport .Net一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
FastReport Online Designer一个跨平台的可视化Web报表设计器
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢