定义变量 body 如果是clob类型的那么使用dbms_lob.append 增加报文内容。如果使用long类型或者varchar2使用l_body := l_body || '
'; 增加报文内容。
PROCEDURE sendmessage_alert(p_errbuf OUT VARCHAR2,
p_retcode OUT VARCHAR2) IS
--头数据
CURSOR cur_header IS
SELECT poh.segment1 po_number,
pap.full_name person_name,
pap.employee_number,
poh.po_header_id,
poh.org_id,
poh.agent_id,
hou.name ou_name,
hoi.name dept_name,
pv.vendor_name,
pv.attribute1 || pv.attribute2 bank_name,
pv.attribute6 bank_number,
nvl(poh.currency_code, 'CNY') currency_code,
nvl(poh.rate, 1) rate,
pap.email_address,
-1 * to_number(poh.attribute2) cut_amount, --冲减金额
' ' null_char,
poh.attribute1 is_pre,
/* REPLACE(poh.comments,
substr(poh.comments,
instr(poh.comments, '['),
instr(poh.comments, ']')),
'') comments,*/
poh.comments,
(SELECT MAX(t.unique_number)
FROM cux_po_header_interface t
WHERE t.po_header_id = poh.po_header_id
AND t.status = 'S') unique_number
FROM po_headers_all poh,
per_all_people_f pap,
hr_operating_units hou,
per_all_assignments_f paa,
hr_organization_units hoi,
po_vendors pv,
po_vendor_sites_all pvs
WHERE /*poh.segment1 = p_po_number --'826'
AND poh.org_id = p_org_id
AND */
poh.authorization_status = 'APPROVED'
AND poh.agent_id = pap.person_id
AND SYSDATE BETWEEN nvl(pap.effective_start_date, SYSDATE - 1) AND
nvl(pap.effective_end_date, SYSDATE + 1)
AND pap.current_employee_flag = 'Y'
AND poh.org_id = hou.organization_id
AND paa.person_id = pap.person_id
AND SYSDATE BETWEEN nvl(paa.effective_start_date, SYSDATE - 1) AND
nvl(paa.effective_end_date, SYSDATE + 1)
AND hoi.organization_id = paa.organization_id
AND poh.vendor_id = pv.vendor_id(+)
AND poh.vendor_id = pvs.vendor_id(+)
AND poh.org_id = pvs.org_id(+)
AND poh.vendor_site_id = pvs.vendor_site_id(+)
AND poh.last_update_date >= trunc(SYSDATE) - 1
AND NOT EXISTS (SELECT 'X'
FROM cux_po_print_list t
WHERE t.po_header_id = poh.po_header_id);
--行信息有数据
CURSOR cur_lines(p_header_id NUMBER) IS
SELECT pl.item_description,
pl.category_id,
mc.concatenated_segments,
cux_common_utl.get_flex_value_desc('xxx',
mc.segment1) segment_desc1,
cux_common_utl.get_flex_value_desc('xxx',
mc.segment2) segmnet_desc2,
pl.quantity,
pl.unit_price,
pl.quantity * pl.unit_price amount
FROM po_lines_all pl, mtl_categories_kfv mc
WHERE pl.po_header_id = p_header_id
AND pl.category_id = mc.category_id;
rec_line cur_lines%ROWTYPE;
--审批结果
CURSOR cur_his(p_header_id NUMBER) IS
SELECT to_char(action_date, 'YYYY-MM-DD') action_date,
action_code_dsp,
employee_name,
note,
fu.email_address
FROM po_action_history_v t, fnd_user fu
WHERE object_id = p_header_id
AND object_type_code = 'PO'
AND t.employee_id = fu.employee_id
ORDER BY sequence_num DESC;
l_sum_amount NUMBER := 0; --合计数量
l_cny_sum_amount NUMBER := 0; --合计重量
l_cny_sum_amount_chr VARCHAR2(120);
receipt_num VARCHAR2(50);
l_line_count NUMBER; --获取行数量
l_header_type VARCHAR2(50); --获取状态
l_loop_count NUMBER; --得到头循环次数
i NUMBER := 1;
j NUMBER := 1;
l_item_name VARCHAR2(360);
l_cny_amount NUMBER;
l_cny_amount_chr VARCHAR2(120);
--l_body VARCHAR2(32767);
l_body CLOB;
l_count NUMBER DEFAULT 0;
l_user_name VARCHAR2(200);
l_isprod_status NUMBER DEFAULT 0;
l_rtn_code VARCHAR2(10);
l_code VARCHAR2(10);
l_is_pre VARCHAR2(120);
l_unique_number VARCHAR2(120);
l_approve_name VARCHAR2(120);
l_approve_email VARCHAR2(120);
l_flag NUMBER;
l_return_status VARCHAR2(120);
l_error_message VARCHAR2(3000);
BEGIN
SELECT cux_utl_pkg.get_isprod_status INTO l_isprod_status FROM dual;
-----
l_isprod_status := 1;
----
cux_html_utl_pkg.output_log(l_isprod_status);
FOR rec IN cur_header LOOP
l_sum_amount := 0;
l_cny_sum_amount := 0;
l_unique_number := NULL;
l_is_pre := NULL;
l_approve_email := NULL;
l_approve_name := NULL;
l_flag := 0;
l_code := 'S';
l_unique_number := rec.unique_number;
l_is_pre := rec.is_pre;
log_msg('订单号:' || rec.po_header_id);
IF l_isprod_status = 1 THEN
-- report title
dbms_lob.createtemporary(l_body, TRUE);
l_count := 0;
--dbms_lob.append(l_body,'');
l_user_name := rec.email_address;
dbms_lob.append(l_body,
'业务费用报销单
');
dbms_lob.append(l_body, '员工和供应商信息:
');
dbms_lob.append(l_body,
'
');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '员工工号 ');
dbms_lob.append(l_body,
'' || rec.employee_number ||
' ');
dbms_lob.append(l_body, '供应商 ');
dbms_lob.append(l_body,
'' || rec.vendor_name || ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '员工姓名 ');
dbms_lob.append(l_body,
'' || rec.person_name || ' ');
dbms_lob.append(l_body, '银行及开户行 ');
dbms_lob.append(l_body,
'' || rec.bank_name || ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '报销公司 ');
dbms_lob.append(l_body,
'' || rec.ou_name || ' ');
dbms_lob.append(l_body, '账号 ');
dbms_lob.append(l_body,
'' || rec.bank_number || ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '所属部门 ');
dbms_lob.append(l_body,
'' || rec.dept_name || ' ');
dbms_lob.append(l_body, ' 采购订单 ');
dbms_lob.append(l_body,
'' || rec.po_number || ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, '备注 ');
dbms_lob.append(l_body,
'' || rec.comments ||
' ');
dbms_lob.append(l_body, '
');
--
l_count := 1;
dbms_lob.append(l_body, '明细信息:
');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '费用类型 ');
dbms_lob.append(l_body, '币种 ');
dbms_lob.append(l_body, '金额(CNY) ');
dbms_lob.append(l_body, '数量 ');
dbms_lob.append(l_body, '说明 ');
dbms_lob.append(l_body, ' ');
-- l_user_name := '[email protected] ' ;
-- line detail
FOR rec_line IN cur_lines(rec.po_header_id) LOOP
l_item_name := rec_line.segment_desc1 || '.' ||
rec_line.segmnet_desc2;
l_cny_amount := rec_line.amount * rec.rate;
l_cny_amount_chr := to_char(l_cny_amount, 'FM999,999,990.00');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body,
'' || l_item_name || ' ');
dbms_lob.append(l_body,
'' || rec.currency_code ||
' ');
dbms_lob.append(l_body,
'' || l_cny_amount_chr ||
' ');
dbms_lob.append(l_body,
'' || rec_line.quantity ||
' ');
dbms_lob.append(l_body,
'' ||
rec_line.item_description || ' ');
dbms_lob.append(l_body, ' ');
l_sum_amount := l_sum_amount + rec_line.amount;
l_cny_sum_amount := l_cny_sum_amount + l_cny_amount;
l_cny_sum_amount_chr := to_char(l_cny_sum_amount,
'FM999,999,990.00');
END LOOP;
-- line total
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '费用合计 ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body,
'' || l_cny_sum_amount_chr ||
' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, ' ');
--冲减金额
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '冲借款金额 ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body,
'' ||
to_char(rec.cut_amount, 'FM999,999,990.00') ||
' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, ' ');
l_cny_sum_amount := l_cny_sum_amount + nvl(rec.cut_amount, 0);
l_cny_sum_amount_chr := to_char(l_cny_sum_amount,
'FM999,999,990.00');
-- line total
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '本次支付金额 ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body,
'' || l_cny_sum_amount_chr ||
' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, ' ');
dbms_lob.append(l_body, '
');
-- approve history
/* l_body := l_body ||
'
');*/
dbms_lob.append(l_body, '审批历史记录
');
-- approve headers
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body, '执行人 ');
dbms_lob.append(l_body, '活动 ');
dbms_lob.append(l_body, '日期 ');
dbms_lob.append(l_body, '审批意见 ');
dbms_lob.append(l_body, ' ');
-- approve detail
FOR rec_approve IN cur_his(rec.po_header_id) LOOP
dbms_lob.append(l_body, '');
dbms_lob.append(l_body,
'' ||
rec_approve.employee_name || ' ');
dbms_lob.append(l_body,
'' ||
rec_approve.action_code_dsp || ' ');
dbms_lob.append(l_body,
'' || rec_approve.action_date ||
' ');
dbms_lob.append(l_body,
'' || rec_approve.note ||
' ');
dbms_lob.append(l_body, ' ');
IF l_flag = 0 THEN
l_approve_email := rec_approve.email_address;
l_approve_name := rec_approve.employee_name;
END IF;
l_flag := l_flag + 1;
END LOOP;
dbms_lob.append(l_body, '
');
dbms_lob.append(l_body, '');
dbms_lob.append(l_body,
'打印人: ' || rec.person_name ||
' 打印日期:' ||
to_char(SYSDATE, 'yyyy-MM-dd HH24:mm:ss') ||
'
');
dbms_lob.append(l_body,
'
区域财务:
出纳:
复核:
网银:
批准:
');
dbms_lob.append(l_body, '
');
IF l_user_name IS NOT NULL AND l_user_name <> 'SYSADMIN' AND
l_count > 0 THEN
send_attach(l_user_name,
l_body,
l_count,
l_user_name,
l_rtn_code);
l_code := l_rtn_code;
cux_html_utl_pkg.output_log(l_user_name);
END IF;
--如果是新车采购,进行回传操作
IF l_unique_number IS NOT NULL THEN
set_po_sys_status(p_uniquer_number => l_unique_number,
p_is_pre => l_is_pre,
p_approve_name => l_approve_name,
p_approve_email => l_approve_email,
x_return_status => l_return_status,
x_error_message => l_error_message);
END IF;
-- 插入数据
IF l_code = 'S' THEN
-- 已经发邮件的数据插入 表
INSERT INTO cux_po_print_list t
(po_number,
po_header_id,
last_name,
employee_number,
email_address)
VALUES
(rec.po_number,
rec.po_header_id,
rec.person_name,
rec.employee_number,
rec.email_address);
COMMIT;
END IF;
END IF;
dbms_lob.freetemporary(l_body); --释放
END LOOP;
END;
效果展示:
你可能感兴趣的:(Oracle,Ebs技术开发-邮件发送)
在麒麟系统(基于Ubuntu或Debuntu)的离线环境中创建本地APT仓库
乙龙
kylin ubuntu linux 运维 kylin
在麒麟系统(基于Ubuntu或Debuntu)的离线环境中创建本地APT仓库,可以按照以下步骤操作:步骤1:准备依赖工具#安装生成仓库元数据的工具sudoapt-getinstalldpkg-dev步骤2:收集所有需要的DEB包将离线环境所需的.deb软件包(包括依赖包)复制到一个目录中,例如:sudomkdir-p/var/my-repocp/path/to/debs/*.deb/var/my-
达梦数据库统计信息详解
Megamind_cx
达梦 数据库 运维
达梦数据库查询优化器采用基于代价的计算方法。在优化器估算查询代价时,也是以统计信息或者普遍的数据分布为主要依据的,这跟Oracle数据库基于成本的优化器原理是类似的。所以,统计信息在达梦数据库优化中,是至关重要的。例如统计信息缺失,或统计信息陈旧,或抽样数据不能很好地反映数据分布时,优化器选择的执行计划不是“最优”的,甚至可能是很差的执行计划,就会引起严重的数据库性能问题,甚至导致数据库服务器夯死
基于oracle linux的 DBI/DBD 标准化安装文档(一)
linux
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
使用 Hyperlane 框架的 WebSocket 功能
LTPP
websocket 网络协议 网络 rust http 服务器 前端
使用Hyperlane框架的WebSocket功能概述hyperlane是一个轻量级且高性能的RustHTTP服务器库,支持HTTP请求解析、响应构建、TCP通信,同时也支持WebSocket和SSE等实时通信协议。hyperlane框架内置了WebSocket支持,能够自动处理协议升级,并支持请求中间件、路由处理和响应中间件。在本篇博客中,我们将介绍如何使用hyperlane框架实现WebSoc
Oracle V$SESSION详解
雨的遐想
oracle 数据库
V$SESSION是SYS用户下面对于SYS.V_$SESSION视图的同义词。在本视图中,每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等。1.V$SESSION中的常用列V$SESSION是基础信息视图,用于找寻用户SID或SADDR,及检查用户的动态:(1)SQL_HASH_VALUE,SQL_ADDRESS
Node.js入门(学习笔记)
唐小艾
学习笔记 node.js
文章目录简介NodeJS下载安装下载安装NodeJS与WebStorm整合JS文件运行CommonJS规范模块模块化定义模块引用模块标识node中的对象globalexports和module.exports属性方法引用包packageNPM(NodePackageManager)NPM命令NPM包引用NPM注意下载速度慢Nodejs核心模块Buffer模块buffer类方法buffer实例的属性
JetBrains(全家桶: IDEA、WebStorm、GoLand、PyCharm) 2024.3+ 2025 版免费体验方案
qq251708339
intellij-idea webstorm pycharm 免费 非破解 2025
JetBrains(全家桶:IDEA、WebStorm、GoLand、PyCharm)2024.3+2025版免费体验方案前言JetBrainsIDE是许多开发者的主力工具,但从2024.02版本起,JetBrains调整了试用政策,新用户不再享有默认的30天免费试用,这对想要体验新版功能的用户带来了一定限制。本指南介绍如何合理获取JetBrains的最新体验权限,并提供一些解决方案,帮助你顺利使
基于python+django+vue.js开发的社区养老管理系统源码+运行步骤
冷琴1996
Python系统设计 python django vue.js
业余时间开发的社区养老系统,基于python/vue技术开发。学习过程问题可以留言。功能介绍平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。功能包括:老人管理、护工管理、亲属管理、病史管理、房间管理、活动管理、用户管理、日志管理、系统信息模块。源码地址https://github.com/geeeeeeeek/python_yanglao演示地址ht
基于oracle linux的 DBI/DBD 标准化安装文档(六)
oracle
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
linux sql*loader 500,SQL Loader Error 510 SQL*Loader-510: Physical record in data file is larger
带你游美国
linux sql*loader 500
IamattemptingtoloaddataintoanOracledatabasetable(Oracle11gR2)usingsqlloader.Iamabletoloadatestfileof1millionrecordsthatwassentfromourleadcompanyusingthecontrolfileshownbelow.However,whentheysenttheact
Oracle SQL*Loader
shangboerds
Oracle oracle plsql sql
--StartSQL*Loader是Oracle提供的一个工具用来将文件中的数据导入到一个或多个表中。你可以在Oracle的安装目录中找到它C:\oraclexe\app\oracle\product\11.2.0\server\bin\sqlldr.exe目前,我们最常用的用来传输数据的文件格式有2种,一种是分隔符文件(如:CSV),另一种是定长文件,下面我们通过例子来看看如果导入这两种文件。首
Oracle SQL*Loader 与 SQLULDR2 学习指南
瑞琪姐
oracle sql 数据库
1.SQL*Loader(sqlldr)1.1概述作用:Oracle官方工具,用于将外部数据文件(如CSV、文本文件)高效加载到数据库表中。特点:支持多种数据格式(定长、变长、CSV)。支持直接路径加载(DirectPathLoad),绕过SQL引擎,提升性能。提供错误记录和丢弃无效数据的功能。1.2核心组件控制文件(ControlFile):定义数据加载规则,包括数据文件路径、目标表、字段映射等
基于oracle linux的 DBI/DBD 标准化安装文档(二)
文档
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
HarmonyOS NEXT 开发环境搭建与影视直播类应用开发
harmonyos
随着华为鸿蒙操作系统HarmonyOSNEXT的推出,开发者们迎来了全新的机遇和挑战。本文将详细介绍如何在HarmonyOSNEXT上搭建开发环境,并通过一个影视直播类应用的实例,展示如何进行应用程序的技术开发。开发环境搭建首先,开发者需要准备以下工具和资源:操作系统:Windows10或macOS10.15及以上版本。开发工具:下载并安装最新版的DevEcoStudio,这是华为官方提供的集成开
Oracle-表空间/用户的创建与使用
一诚学编程
oracle
--对象--需要create的都是对象已学的对象:表table--普通用户只能查询user开头的数据字典selecttablespace_namefromuser_tablespaces;--dba用户才能够查询selecttablespace_namefromdba_tablespaces;--创建表空间(需要管理员权限dba用户)--语法解释CREATETABLESPACEts_test--表
linux启动db2的命令窗口_linux下如何启动db2数据库命令窗口
少学汉
linux启动db2的命令窗口
在Linuxx86上安装Oracle数据库10g(来自ORACLE网)原文出处:http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.htmlDBA:Linux在Linuxx86上安装Oracle数据库10g作者:JohnSmiley学习...文章wangccsy2006-01-16562浏览量带你
鸿蒙操作系统HarmonyOS NEXT开发环境搭建与政务服务类APP开发
harmonyos
随着华为鸿蒙操作系统HarmonyOSNEXT的发布,越来越多的开发者开始关注并投入到这一新兴操作系统的应用开发中。本文将详细介绍如何搭建HarmonyOSNEXT的开发环境,并通过一个政务服务类办证服务APP的示例,展示如何进行应用程序的技术开发。一、开发环境搭建安装DevEcoStudio:DevEcoStudio是华为官方提供的集成开发环境(IDE),支持HarmonyOS应用开发。首先,访
基于oracle linux的 DBI/DBD 标准化安装文档(四)
linux
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
Java语言的WebSocket
穆骊瑶
包罗万象 golang 开发语言 后端
Java语言的WebSocket详解目录引言WebSocket概述2.1WebSocket的工作原理2.2WebSocket的优势Java中WebSocket的实现3.1JavaEE的WebSocketAPI3.2使用SpringBoot实现WebSocketWebSocket的应用场景WebSocket的优缺点总结1.引言在现代Web开发中,实时通信成为了一个关键需求。传统的HTTP协议是基于请
PL/SQL语言的压力测试
穆骊瑶
包罗万象 golang 开发语言 后端
PL/SQL语言的压力测试引言在现代软件开发中,随着企业信息系统的复杂性和业务需求的不断增加,数据库系统的可靠性和性能变得尤为重要。PL/SQL作为Oracle数据库的存储过程语言,广泛应用于企业级应用开发中。为了确保系统在高负载环境下的稳定性和性能,压力测试(StressTesting)显得尤为重要。本文将深入探讨PL/SQL语言的压力测试,包括其定义、重要性、实施步骤及工具,以及最佳实践等内容
85.HarmonyOS NEXT 网络请求与数据处理:构建可靠的数据层
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT网络请求与数据处理:构建可靠的数据层1.网络请求基础1.1基本概念概念说明使用场景HTTP请求基本的网络通信API调用WebSocket双向实时通信即时消息数据序列化数据格式转换请求/响应处理1.2HTTP请求封装classHttpCl
oracle使用PLSQL导出表数据
web_13233421436
面试 学习路线 阿里巴巴 oracle 数据库
数据库课上布置了一个作业利用PL/SQL语言,编写一个存储过程实现针对单张表的数据导出功能,要求将给定表的数据转换成SQL语言的Insert语句,并保存在文件中。该过程以要导出的表名和保存SQL语句的文件名为参数。在网上尝试搜索了一下,中文网里没找到合适的参考文章,要么是针对特定表结构,要么是只导出特定数量的列,于是自己完成后写篇记录。首先需要定义一个导出目录,这里定义了“EXPORT_DIR”C
CentOS 上扩展 Swap 分区的大小
翱翔-蓝天
Linux运维实战 centos linux 运维
在CentOS上扩展Swap分区的大小可以通过以下几种方式实现:方法1:增加Swap文件(推荐)如果你的Swap是基于文件的(而不是分区),你可以增加Swap文件的大小,而不需要修改磁盘分区。步骤1:创建新的Swap文件sudoddif=/dev/zeroof=/swapfilebs=1Mcount=4096这里count=4096代表创建4GB大小的Swap文件,你可以根据需要修改大小。步骤2:
golang的wails框架在macos下的问题
淡淡的id
web golang macos wails
1、前言 之前练手写了格调用ollamaapi的web应用,想找个容器打包下,于是找到wails来打包,windows下都是很正常的,因为就是普通的http调用,也没遇到cors跨域问题,但是到了macos下使用wailsdev命令启动的客户端却是出现了几个问题。 总得来说就是时不时遇到一些浏览器限制相关的问题2、问题2.1、页面出不来 就是因为wails在macos使用websocket来
基于oracle linux的 DBI/DBD 标准化安装文档(五)
oracle
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
报表管理器- 新建数据源
shawn08
Reporting Service 报表 sql server 服务器 windows 数据库 数据库服务器
启用此数据源选择该选项可以启用或禁用共享数据源。可以禁用共享数据源,以防对引用该项的所有报表和模型进行处理。连接类型指定用于处理数据源中数据的数据处理扩展插件。报表服务器包含SQLServer、SQLServerAnalysisServices、Oracle、OLEDB、ODBC和XML的数据处理扩展插件。其他数据处理扩展插件可以由第三方供应商提供。连接字符串指定报表服务器用于连接到数据源的连接字
JavaEE系统架构师学习路线(基础篇)
淘小五
大纲:第1阶段(Java程序员)-Java语言基础第2阶段(Java初级软件工程师)-JSP、Servlet、HTML、CSS、JS、Bootstrap、XML、AJAX、MySQL、SQLServer、Oracle第3阶段(Java中级软件工程师)-Struts2、Spring、Hibernate、SpringMVC、Mybatis、Shiro、JVM第4阶段(Java高级软件工程师)-WebS
HarmonyOS NEXT 开发环境搭建与金融理财类APP开发指南
harmonyos
引言随着华为鸿蒙操作系统HarmonyOSNEXT的推出,越来越多的开发者开始关注并投入到这一新生态系统的开发中。本文将详细介绍如何在HarmonyOSNEXT上搭建开发环境,并通过一个金融理财类财务记账APP的示例,展示如何进行应用程序的技术开发。开发环境搭建首先,开发者需要准备一台运行Windows或macOS的计算机,并确保安装了最新版本的JavaDevelopmentKit(JDK)。接下
使用Node.js对接StockTV全球金融市场数据API
数据分析爬虫
使用Node.js对接StockTV全球金融市场数据API摘要:本文详细介绍了如何通过Node.js客户端库快速接入StockTV全球金融市场数据API,涵盖股票、外汇、期货和加密货币的实时行情获取与历史数据查询。通过本文,开发者可掌握RESTAPI调用、WebSocket实时订阅等核心功能。一、项目概述StockTVAPINode.js客户端是一个轻量级SDK,提供对全球四大金融市场的标准化访问
如何使用Navicat连接Oracle数据库
Dawn·张
数据库 oracle
如果有人提供了如下数据库连接信息:数据库信息:UserId=mes_stsp;Password=******;DataSource=172.20.1.60:1521/ORCL这表示您需要连接到Oracle数据库。以下是通过Navicat连接Oracle数据库的步骤:1.打开Navicat,新建连接打开Navicat软件,在工具栏中点击“连接”。从下拉列表中选择“Oracle”。2.配置连接信息在弹
jsonp 常用util方法
hw1287789687
jsonp jsonp常用方法 jsonp callback
jsonp 常用java方法
(1)以jsonp的形式返回:函数名(json字符串)
/***
* 用于jsonp调用
* @param map : 用于构造json数据
* @param callback : 回调的javascript方法名
* @param filters : <code>SimpleBeanPropertyFilter theFilt
多线程场景
alafqq
多线程
0
能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0
对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗?
Java多线程
2012年11月23日 15:41 Young9007 Young9007
4
0 0 4
Comment添加评论关注(2)
3个答案 按时间排序 按投票排序
0
0
最典型的如:
1、
Maven学习——修改Maven的本地仓库路径
Kai_Ge
maven
安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。
placeholder的浏览器兼容
120153216
placeholder
【前言】
自从html5引入placeholder后,问题就来了,
不支持html5的浏览器也先有这样的效果,
各种兼容,之前考虑,今天测试人员逮住不放,
想了个解决办法,看样子还行,记录一下。
【原理】
不使用placeholder,而是模拟placeholder的效果,
大概就是用focus和focusout效果。
【代码】
<scrip
debian_用iso文件创建本地apt源
2002wmj
Debian
1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下
2.创建N个挂载点目录
如下:
debian:~#mkdir –r /media/dvd1
debian:~#mkdir –r /media/dvd2
debian:~#mkdir –r /media/dvd3
….
debian:~#mkdir –r /media
SQLSERVER耗时最长的SQL
357029540
SQL Server
对于DBA来说,经常要知道存储过程的某些信息:
1. 执行了多少次
2. 执行的执行计划如何
3. 执行的平均读写如何
4. 执行平均需要多少时间
列名 &
com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil
7454103
eclipse
今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了,解决方法如下:
错误提示信息:
An error has occurred.See error log for more details.
Reason:
com/genuitec/
用正则删除文本中的html标签
adminjun
java html 正则表达式 去掉html标签
使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。
如下:
public static String Html2Text(String inputString) {
String htmlStr = inputString; // 含html标签的字符串
String textSt
嵌入式系统设计中常用总线和接口
aijuans
linux 基础
嵌入式系统设计中常用总线和接口
任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线
Java函数调用方式——按值传递
ayaoxinchao
java 按值传递 对象 基础数据类型
Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。
首先,让我们看一看基础数据类型是如何按值传递的。
public static void main(String[] args) {
int a = 2;
ios音量线性下降
bewithme
ios音量
直接上代码吧
//second 几秒内下降为0
- (void)reduceVolume:(int)second {
KGVoicePlayer *player = [KGVoicePlayer defaultPlayer];
if (!_flag) {
_tempVolume = player.volume;
与其怨它不如爱它
bijian1013
选择 理想 职业 规划
抱怨工作是年轻人的常态,但爱工作才是积极的心态,与其怨它不如爱它。
一般来说,在公司干了一两年后,不少年轻人容易产生怨言,除了具体的埋怨公司“扭门”,埋怨上司无能以外,也有许多人是因为根本不爱自已的那份工作,工作完全成了谋生的手段,跟自已的性格、专业、爱好都相差甚远。
一边时间不够用一边浪费时间
bingyingao
工作 时间 浪费
一方面感觉时间严重不够用,另一方面又在不停的浪费时间。
每一个周末,晚上熬夜看电影到凌晨一点,早上起不来一直睡到10点钟,10点钟起床,吃饭后玩手机到下午一点。
精神还是很差,下午像一直野鬼在城市里晃荡。
为何不尝试晚上10点钟就睡,早上7点就起,时间完全是一样的,把看电影的时间换到早上,精神好,气色好,一天好状态。
控制让自己周末早睡早起,你就成功了一半。
有多少个工作
【Scala八】Scala核心二:隐式转换
bit1129
scala
Implicits work like this: if you call a method on a Scala object, and the Scala compiler does not see a definition for that method in the class definition for that object, the compiler will try to con
sudoku slover in Haskell (2)
bookjovi
haskell sudoku
继续精简haskell版的sudoku程序,稍微改了一下,这次用了8行,同时性能也提高了很多,对每个空格的所有解不是通过尝试算出来的,而是直接得出。
board = [0,3,4,1,7,0,5,0,0,
0,6,0,0,0,8,3,0,1,
7,0,0,3,0,0,0,0,6,
5,0,0,6,4,0,8,0,7,
Java-Collections Framework学习与总结-HashSet和LinkedHashSet
BrokenDreams
linkedhashset
本篇总结一下两个常用的集合类HashSet和LinkedHashSet。
它们都实现了相同接口java.util.Set。Set表示一种元素无序且不可重复的集合;之前总结过的java.util.List表示一种元素可重复且有序
读《研磨设计模式》-代码笔记-备忘录模式-Memento
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
/*
* 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘”
《RAW格式照片处理专业技法》笔记
cherishLC
PS
注意,这不是教程!仅记录楼主之前不太了解的
一、色彩(空间)管理
作者建议采用ProRGB(色域最广),但camera raw中设为ProRGB,而PS中则在ProRGB的基础上,将gamma值设为了1.8(更符合人眼)
注意:bridge、camera raw怎么设置显示、输出的颜色都是正确的(会读取文件内的颜色配置文件),但用PS输出jpg文件时,必须先用Edit->conv
使用 Git 下载 Spring 源码 编译 for Eclipse
crabdave
eclipse
使用 Git 下载 Spring 源码 编译 for Eclipse
1、安装gradle,下载 http://www.gradle.org/downloads
配置环境变量GRADLE_HOME,配置PATH %GRADLE_HOME%/bin,cmd,gradle -v
2、spring4 用jdk8 下载 https://jdk8.java.
mysql连接拒绝问题
daizj
mysql 登录权限
mysql中在其它机器连接mysql服务器时报错问题汇总
一、[running]
[email protected] :~$mysql -uroot -h 192.168.9.108 -p //带-p参数,在下一步进行密码输入
Enter password: //无字符串输入
ERROR 1045 (28000): Access
Google Chrome 为何打压 H.264
dsjt
apple html5 chrome Google
Google 今天在 Chromium 官方博客宣布由于 H.264 编解码器并非开放标准,Chrome 将在几个月后正式停止对 H.264 视频解码的支持,全面采用开放的 WebM 和 Theora 格式。
Google 在博客上表示,自从 WebM 视频编解码器推出以后,在性能、厂商支持以及独立性方面已经取得了很大的进步,为了与 Chromium 现有支持的編解码器保持一致,Chrome
yii 获取控制器名 和方法名
dcj3sjt126com
yii framework
1. 获取控制器名
在控制器中获取控制器名: $name = $this->getId();
在视图中获取控制器名: $name = Yii::app()->controller->id;
2. 获取动作名
在控制器beforeAction()回调函数中获取动作名: $name =
Android知识总结(二)
come_for_dream
android
明天要考试了,速速总结如下
1、Activity的启动模式
standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)
singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Ac
高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元
gcq511120594
工作 项目管理
高洛峰,兄弟连IT教育合伙人、猿代码创始人、PHP培训第一人、《细说PHP》作者、软件开发工程师、《IT峰播》主创人、PHP讲师的鼻祖!
首期现在的进程刚刚过半,徒弟们真的很棒,人品都没的说,团结互助,学习刻苦,工作认真积极,灵活上进。我几乎会把他们全部留下来,现在已有一多半安排了实际的工作,并取得了很好的成绩。等他们出徒之日,凭他们的能力一定能够拿到高薪,而且我还承诺过一个徒弟,当他拿到大学毕
linux expect
heipark
expect
1. 创建、编辑文件go.sh
#!/usr/bin/expect
spawn sudo su admin
expect "*password*" { send "13456\r\n" }
interact
2. 设置权限
chmod u+x go.sh 3.
Spring4.1新特性——静态资源处理增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
idea ubuntuxia 乱码
liyonghui160com
1.首先需要在windows字体目录下或者其它地方找到simsun.ttf 这个 字体文件。
2.在ubuntu 下可以执行下面操作安装该字体:
sudo mkdir /usr/share/fonts/truetype/simsun
sudo cp simsun.ttf /usr/share/fonts/truetype/simsun
fc-cache -f -v
改良程序的11技巧
pda158
技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。
让我们看一些基本的编程技巧:
尽量保持方法简短
永远永远不要把同一个变量用于多个不同的
300个涵盖IT各方面的免费资源(下)——工作与学习篇
shoothao
创业 免费资源 学习课程 远程工作
工作与生产效率:
A. 背景声音
Noisli:背景噪音与颜色生成器。
Noizio:环境声均衡器。
Defonic:世界上任何的声响都可混合成美丽的旋律。
Designers.mx:设计者为设计者所准备的播放列表。
Coffitivity:这里的声音就像咖啡馆里放的一样。
B. 避免注意力分散
Self Co
深入浅出RPC
uule
rpc
深入浅出RPC-浅出篇
深入浅出RPC-深入篇
RPC
Remote Procedure Call Protocol
远程过程调用协议
它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发