当前位置: 首页 > news >正文

Maximo 在 Automation Script 中访问数据库

在 Automation Script 中我们通常使用 mbo 对象来操作数据,但有时候当数据量较大时,使用 mbo 对象来操作数据会比较慢。这时候,我们可以使用 JDBC 的方式来直接访问数据库,从而提高操作数据的效率。

下面看看使用 JavaScript 脚本怎么实现在 Automation Script 中访问数据库:

  1. 首先需要倒入必要的包
load('nashorn:mozilla_compat.js');
importPackage(Packages.psdi.server);
importPackage(Packages.psdi.security);
importPackage(Packages.psdi.security);
importPackage(Packages.java.sql);
  1. 获取 Connection 实例
var mxServer = MXServer.getMXServer();
var connKey = mxServer.getSystemUserInfo().getConnectionKey();
var conn = mxServer.getDBManager().getConnection(connKey);
  1. 执行 SQL 语句并处理结果
var wos = [];var stmt = conn.createStatement();
var rs = stmt.executeQuery("select * from workorder order by WORKORDERID");
var i = 0;
while(rs.next()) {var wo = {};if (i < (pageNum - 1) * pageSize) {continue;}if (i >= pageNum * pageSize) {break;}i++;wo.wonum = rs.getString("WONUM");wo.workorderid = rs.getString("WORKORDERID");wo.description = rs.getString("DESCRIPTION");wos.push(wo);
}rs.close()
stmt.close()
conn.close()
  1. 以 json 格式返回
var responseBody = JSON.stringify(wos);

完整代码

下面看一下完整的 Automation Script 代码:

load('nashorn:mozilla_compat.js');
importPackage(Packages.psdi.server);
importPackage(Packages.psdi.security);
importPackage(Packages.psdi.security);
importPackage(Packages.java.sql);var pageNum = request.getQueryParam("pageNum");
var pageSize = request.getQueryParam("pageSize");var mxServer = MXServer.getMXServer();
var connKey = mxServer.getSystemUserInfo().getConnectionKey();
var conn = mxServer.getDBManager().getConnection(connKey);var wos = [];var stmt = conn.createStatement();
var rs = stmt.executeQuery("select * from workorder order by WORKORDERID");
var i = 0;
while(rs.next()) {var wo = {};if (i < (pageNum - 1) * pageSize) {continue;}if (i >= pageNum * pageSize) {break;}i++;wo.wonum = rs.getString("WONUM");wo.workorderid = rs.getString("WORKORDERID");wo.description = rs.getString("DESCRIPTION");wos.push(wo);
}rs.close()
stmt.close()
conn.close()var responseBody = JSON.stringify(wos);

测试

使用 vscode 的 REST Client 插件来测试这个 Automation Script

### 
# call automation script
GET {{base_url}}/api/script/<automation script>?apikey={{api_key}}&lean=1&pageNum=1&pageSize=10
Content-Type: application/json

返回结果类似如下:

[{"wonum": "1638","workorderid": "1","description": "Check Leaking Condensate Return Pump"},...
]

相关文章:

Maximo 在 Automation Script 中访问数据库

在 Automation Script 中我们通常使用 mbo 对象来操作数据&#xff0c;但有时候当数据量较大时&#xff0c;使用 mbo 对象来操作数据会比较慢。这时候&#xff0c;我们可以使用 JDBC 的方式来直接访问数据库&#xff0c;从而提高操作数据的效率。 下面看看使用 JavaScript 脚本…...

gitee 简易使用 上传文件

Wiki - Gitee.com 官方教程 1.gitee 注册帐号 (直接选择初始化选项即可&#xff0c;无需下载git&#xff09; 2.下载git 安装 http://git-scm.com/downloads 3. 桌面 鼠标右键 或是开始菜单 open git bash here 输入&#xff08;复制 &#xff0c;粘贴&#xff09; 运行…...

iOS Xcode 升级Xcode15报错: SDK does not contain ‘libarclite

一 iOS Xcode 升级Xcode15报错: SDK does not contain libarclite 1.1 报错信息 SDK does not contain libarclite at the path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/ lib/arc/libarclite_iphonesimulator.a; try increasin…...

即插即用篇 | YOLOv8引入轴向注意力 Axial Attention | 多维变换器中的轴向注意力

本改进已集成到 YOLOv8-Magic 框架。 我们提出了Axial Transformers,这是一个基于自注意力的自回归模型,用于图像和其他组织为高维张量的数据。现有的自回归模型要么因高维数据的计算资源需求过大而受到限制,要么为了减少资源需求而在分布表达性或实现的便捷性上做出妥协。相…...

【芯片制造】【常用术语】CP、FT、WAT

背景&#xff1a; 在我们讲wafer加工好以后&#xff0c;需要进行相关测试&#xff0c;在此阶段&#xff0c;有很多提及到的常用术语&#xff0c;我们依次进行解释。主要单词含义&#xff1a; CP &#xff1a; Chip Probing&#xff08;probe card&#xff09;&#xff0c;wafer…...

计算机vcruntime140.dll找不到如何修复,分享5种靠谱的修复教程

当您在运行某个应用程序或游戏时遇到提示“找不到vcruntime140.dll”&#xff0c;这通常意味着系统中缺少了Visual C Redistributable for Visual Studio 2015或更高版本的一个重要组件。这个错误通常发生在运行某些程序时&#xff0c;系统无法找到所需的动态链接库文件。小编将…...

超级简单的地图操作工具开发可疑应急,地图画点,画线,画区域,获取地图经纬度等

使用echars的地图画点,画线,画区域,获取地图经纬度等 解压密码:10086007 地图也是用临时的bmap.js和china.js纯离线二选一 一共就这么多文件 画点,画线,画区域 点击地图获取经纬度-打印到控制台,这样就能渲染航迹,多变形,结合其他算法算圆等等操作 下载资源:https://download…...

25_NumPy数组np.round将ndarray舍入为偶数

25_NumPy数组np.round将ndarray舍入为偶数 使用 np.round() 将 NumPy 数组 ndarray 的元素值舍入为任意位数。请注意&#xff0c;0.5 由于舍入到偶数而不是一般舍入而舍入为 0.0。 本文介绍了一般舍入的实现示例。 如何使用 np.round() 基本用法指定要舍入的位数&#xff1a…...

Java字符串去除空格的方法

前言 在Java编程实践中&#xff0c;处理字符串中的空格是一项基本且频繁的操作。本文将深入探讨如何使用Java原生方法以及Apache Commons Lang库中的StringUtils类&#xff0c;全方位解决字符串去空格的需求&#xff0c;让你的代码更加健壮和高效。 1. Java原生方法 a. trim…...

【Python】【应用】Python应用之如何操作WiFi之一——使用pywifi

&#x1f41a;作者简介&#xff1a;花神庙码农&#xff08;专注于Linux、WLAN、TCP/IP、Python等技术方向&#xff09;&#x1f433;博客主页&#xff1a;花神庙码农 &#xff0c;地址&#xff1a;https://blog.csdn.net/qxhgd&#x1f310;系列专栏&#xff1a;Python应用&…...

2024OD机试卷-分割均衡字符串 (java\python\c++)

题目:分割均衡字符串 题目描述 均衡串定义: 字符串 中只包含两种字符,且这两种字符的个数相同。 给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。 约定:字符串中只包含大写的 X 和 Y 两种字符。 输入描述 字符串的长度:[2, 10000]。 给定的字符串均为均…...

完整版解答!2024年数维杯数学建模挑战赛B题

B题 生物质和煤共热解问题的研究 技术文档第一问1.1问题一分析1.2数据预处理1.3问题一Spearman相关性分析 数据代码资料获取 技术文档 第一问 1.1问题一分析 对于问题一&#xff0c;题目要求分析出正己烷不溶物对焦油产率、水产率、焦渣产率这三个指标是否有显著影响&#x…...

Android开发,日志级别

5个日志级别 Verbose (VERBOSE): 这是最低的日志级别&#xff0c;用于输出最为详尽的信息&#xff0c;包括开发和调试过程中的各种细节。在Log类中对应的方法是Log.v()。Debug (DEBUG): 此级别用于输出调试信息&#xff0c;帮助开发者理解程序运行流程或状态。通过Log.d()方法…...

Docker 部署 MySQL 数据库

文章目录 MySQL 镜像创建缩主机目录my.cnf 配置文件docker-compose.yml给 Test 账号添加权限 Docker 与 docker-compose 安装这里不做介绍。 MySQL 镜像 根据需要选择版本 # 5.7 版本 docker pull mysql:5.7 # 8.2 版本 docker pull mysql:8.2创建缩主机目录 cd home # 创建…...

代码技巧: 类中同一个函数可以同时存在常函数版本和普通函数版本(c++)

在类中如果我们希望在常函数中修改某属性的值可以使用mutable来实现。 如果有下面的场景&#xff0c;假设我们有一个函数hobby()需要在非const的对象调用的时候&#xff0c;应该去修改内部的属性&#xff0c;在const修饰的对象调用的时候可以满足不修改内部的属性。 鉴于上面的…...

2024OD机试卷-转盘寿司 (java\python\c++)

题目:转盘寿司 题目描述 寿司店周年庆,正在举办 优惠活动 回馈新老客户。 寿司转盘上总共有 n 盘寿司,prices[i] 是第 i 盘寿司的价格, 如果客户选择了第 i 盘寿司,寿司店免费赠送客户距离第 i 盘寿司最近的下一盘寿司 j,前提是 prices[j] < prices[i],如果没有满足…...

MongoDB创建或删除用户并验证数据库权限

本文假设在Ubuntu中安装了MongoDB&#xff0c;并用命令行工具mongosh演示。 一、创建用户并设置数据库权限 用户和数据库是关联的&#xff0c;要在登录时验证某个数据库&#xff0c;需要在相应的数据库内创建用户&#xff0c;即先切换到该数据库再创建用户。除非是root最高权…...

半小时搞懂STM32面经知识——RCC

1. 时钟的概念 时钟是由电路产生的具有周期性的脉冲信号&#xff0c;相当于单片机的心脏&#xff0c;要想使用单片机的外设必须开启时钟。 时钟对单片机有什么作用&#xff1f; 1. 驱动外设的本质是寄存器&#xff0c;而寄存器需要时钟触发才能改写值。 2. 时钟频率越高&#…...

汇聚荣科技:拼多多开店没有流量应该怎么办?

拼多多开店没有流量是一个常见的问题&#xff0c;许多新手商家都会遇到这样的困境。那么&#xff0c;如何解决这个问题呢?下面从四个方面进行详细阐述。 一、优化店铺和商品 首先&#xff0c;要确保店铺和商品的质量。店铺要有自己独特的风格和特色&#xff0c;商品要有高质量…...

uni-app(三):离线打包与插件引用(Android)

离线打包与插件引用 1.下载Android离线SDK2.使用Android Studio打开离线打包项目并更新Gradle3.解决报错4.构建5.配置AppKeya.查看证书b.申请AppKeyc.配置AppKey 6.生成本地打包App资源7.拷贝App资源到Android项目中8.修改 appid9.修改Android项目配置文件10.下载证书并配置11.…...

城通网盘终极下载加速指南:三步解锁高速通道的完整教程

城通网盘终极下载加速指南&#xff1a;三步解锁高速通道的完整教程 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘下载速度慢如蜗牛而烦恼吗&#xff1f;每天都有无数用户因为城通网盘的…...

医疗数据增强技巧:提升MedGemma在小数据集上的表现

医疗数据增强技巧&#xff1a;提升MedGemma在小数据集上的表现 1. 引言 当你手头只有几百张医疗影像数据&#xff0c;却要训练一个强大的MedGemma模型时&#xff0c;会不会觉得这是个不可能完成的任务&#xff1f;别担心&#xff0c;这恰恰是很多医疗AI开发者面临的真实困境。…...

华大HC32F460串口DMA接收与超时中断的实战配置

1. 华大HC32F460串口DMA接收与超时中断的核心价值 在嵌入式开发中&#xff0c;串口通信是最基础也最常用的功能之一。传统串口接收方案通常有两种&#xff1a;一种是每个字节都触发中断&#xff0c;另一种是DMA接收配合定时器断帧。第一种方案会频繁打断主程序执行&#xff0c;…...

GCC/Clang编译警告终极配置:用-Wall -Wextra提升代码质量的3个冷技巧

GCC/Clang编译警告终极配置&#xff1a;用-Wall -Wextra提升代码质量的3个冷技巧 在C/C开发中&#xff0c;编译警告常被视为"可以忽略的噪音"&#xff0c;但经验丰富的开发者知道&#xff0c;这些警告往往是代码质量的早期预警系统。当你在深夜调试一个难以复现的内存…...

【Spring Boot 3 + Vue 3】宠物医院智能诊疗管理系统 全功能展示 | 前后端分离实战

宠物医院智能诊疗管理系统 — Spring Boot 3 Vue 3 全栈实战 项目简介基于 Spring Boot 3 Vue 3 Bootstrap 5 MyBatis-Plus MySQL 构建的宠物医院智能诊疗管理系统&#xff0c;采用前后端分离架构&#xff0c;实现了从游客浏览、在线预约、诊疗记录到物资管理的完整业务闭…...

微信小程序对接实战:快速开发集成通义千问1.5-1.8B模型的AI聊天应用

微信小程序对接实战&#xff1a;快速开发集成通义千问1.5-1.8B模型的AI聊天应用 你是不是也想过&#xff0c;给自己的微信小程序加上一个智能聊天助手&#xff1f;比如&#xff0c;做一个能解答用户问题的客服机器人&#xff0c;或者一个能陪你闲聊、帮你写文案的创意伙伴。听…...

零售AI开发者必看:Ostrakon-VL-8B终端从部署到任务执行完整指南

零售AI开发者必看&#xff1a;Ostrakon-VL-8B终端从部署到任务执行完整指南 1. 项目概览&#xff1a;像素特工终端 Ostrakon-VL-8B是一款专为零售与餐饮场景优化的多模态大模型&#xff0c;我们将其封装成了一个充满游戏趣味的Web交互终端。与传统工业级UI不同&#xff0c;这…...

RTX4090D显卡性能释放:PyTorch 2.8镜像在文生视频任务中的实战表现

RTX4090D显卡性能释放&#xff1a;PyTorch 2.8镜像在文生视频任务中的实战表现 1. 硬件与镜像环境概览 1.1 RTX 4090D显卡的独特优势 RTX 4090D作为NVIDIA最新一代消费级旗舰显卡&#xff0c;在深度学习领域展现出非凡潜力。与标准版4090相比&#xff0c;4090D在保持相同24G…...

多智能体强化学习调参新思路:为什么你的MAPPO在离散环境不收敛?

多智能体强化学习调参新思路&#xff1a;为什么你的MAPPO在离散环境不收敛&#xff1f; 当你在连续环境中轻松实现MAPPO&#xff08;Multi-Agent Proximal Policy Optimization&#xff09;的收敛后&#xff0c;转向离散环境时却遭遇了令人沮丧的失败——这不是个例。许多中高级…...

Harbor镜像同步到阿里云ACR和华为云SWR的保姆级避坑指南(附实操截图)

Harbor镜像同步到阿里云ACR和华为云SWR的保姆级避坑指南&#xff08;附实操截图&#xff09; 在多云架构成为主流的今天&#xff0c;企业往往需要将容器镜像同步到不同云平台以满足业务部署需求。Harbor作为企业级镜像仓库&#xff0c;其复制功能虽然强大&#xff0c;但在实际对…...