create or replace package body PKG_Import_ITEM_INSTANCE is
-- Created : 9/16/2011 2:09:59 PM
-- Purpose :
--DBLINK_NAME
V_DBLINK_NAME VARCHAR2(40) := '@JF_8004';
V_SQL VARCHAR2(5000) := '';
V_ID VARCHAR2(40);
V_MSG VARCHAR2(5000) := '';
--记录 CUX_SCADA_JOBLOG 表
procedure RecordJobResult(
p_JobID IN VARCHAR2,
p_StartDateTime IN DATE,
p_EndDateTime IN DATE,
p_ProcessCount IN NUMBER,
p_Result IN VARCHAR2,
p_ErrorMsg IN NVARCHAR2,
V_Username in varchar2) is
v_UsedSeconds NUMBER;
begin
v_UsedSeconds := (p_EndDateTime - p_StartDateTime) * 24 * 60 * 60;
INSERT INTO CUX_SCADA_JOBLOG(SERIAL,jobid,startdatetime,enddatetime,usedtime,processcount,result,errormsg,Username)
VALUES(SYS_GUID(),p_JobID,p_StartDateTime,p_EndDateTime,v_UsedSeconds,p_ProcessCount,p_Result,p_ErrorMsg,V_Username);
commit;
return;
exception
when others then
V_MSG := substrb(sqlerrm,1,4000);
return;
end RecordJobResult;
PROCEDURE ImportINSTANCE is
V_INSTANCE_NUMBER VARCHAR2(30); -- not null
V_ITEM_NUMBER VARCHAR2(40);
V_ITEM_DESCRIPTION VARCHAR2(240);
V_ITEM_CATEGORY VARCHAR2(240);
V_QUANTITY NUMBER; --not null
V_UNIT_OF_MEASURE VARCHAR2(3); --not null
V_SERIAL_NUMBER VARCHAR2(30);
V_LOT_NUMBER VARCHAR2(80);
V_PROJECT_NUMBER VARCHAR2(240);
V_PROJECT_NAME VARCHAR2(240);
V_CUSTOMER_NAME VARCHAR2(360); -- not null
V_CUSTOMER_ADDRESS VARCHAR2(240);
V_BLADE_STALL VARCHAR2(240);
V_INSTALL_ANGLE_INIT_VALUE VARCHAR2(240);
V_INSTALL_ANGLE_ADJUST_VALUE VARCHAR2(240);
V_SWIRL_GENERATOR VARCHAR2(240);
V_P_INSTANCE_NUMBER VARCHAR2(30);
V_P_ITEM_NUMBER VARCHAR2(40);
V_P_ITEM_DESCRIPTION VARCHAR2(240);
V_P_ITEM_CATEGORY VARCHAR2(240);
V_INSTALL_DATE VARCHAR2(20);
V_LAST_UPDATE_DATE VARCHAR2(20); -- not null
V_P_SERIAL_NUMBER VARCHAR2(30);
INSTANCE_Cursor Sys_Refcursor;
Update_Time VARCHAR2(30);
B_INSTANCE_NUMBER VARCHAR2(30);
v_JobID VARCHAR2(40) := 'JOB_ImportINSTANCE';
-- v_StartDateTime DATE;
v_StartDateTime DATE :=sysdate;
I_ProcessCount NUMBER := 0;
v_ErrorID VARCHAR2(4000);
V_Username varchar2(40) := 'admin';
begin
select to_char(sysdate,'yyyy-MM-dd HH24:MI:SS')
into Update_Time from dual;
SELECT NVL(MAX(LAST_UPDATE_DATE), '1990-01-01 12:00:00')
INTO V_LAST_UPDATE_DATE
FROM cux_scada_item_instance_v;
--测试之用
--V_LAST_UPDATE_DATE :='2011-09-20 10:20:54';
V_SQL := '';
V_SQL := V_SQL || ' SELECT
a.INSTANCE_NUMBER,a.ITEM_NUMBER,a.ITEM_DESCRIPTION,a.ITEM_CATEGORY,a.QUANTITY,a.UNIT_OF_MEASURE,a.SERIAL_NUMBER,';
V_SQL := V_SQL || '
a.LOT_NUMBER,a.PROJECT_NUMBER,a.PROJECT_NAME,a.CUSTOMER_NAME,a.CUSTOMER_ADDRESS,a.BLADE_STALL,a.INSTALL_ANGLE_INIT_VALUE,';
V_SQL := V_SQL || '
a.INSTALL_ANGLE_ADJUST_VALUE,a.SWIRL_GENERATOR,a.P_INSTANCE_NUMBER,a.P_ITEM_NUMBER,a.P_ITEM_DESCRIPTION,';
V_SQL := V_SQL || ' a.P_ITEM_CATEGORY,a.INSTALL_DATE,a.LAST_UPDATE_DATE,a.P_SERIAL_NUMBER,';
V_SQL := V_SQL || ' NVL(b.INSTANCE_NUMBER,'' '') AS BINSTANCE_NUMBER';
V_SQL := V_SQL || ' FROM (';
V_SQL := V_SQL || ' SELECT *';
V_SQL := V_SQL || ' from cux_scada_item_instance_v' || V_DBLINK_NAME;
V_SQL := V_SQL || ' WHERE to_char(LAST_UPDATE_DATE,''yyyy-MM-dd HH24:MI:SS'')>'''||V_LAST_UPDATE_DATE ||''') a';
V_SQL := V_SQL || ' LEFT JOIN cux_scada_item_instance_v b';
V_SQL := V_SQL || ' ON a.INSTANCE_NUMBER=b.INSTANCE_NUMBER';
open INSTANCE_Cursor for V_SQL;
loop
fetch INSTANCE_Cursor
into V_INSTANCE_NUMBER, V_ITEM_NUMBER, V_ITEM_DESCRIPTION, V_ITEM_CATEGORY, V_QUANTITY,
V_UNIT_OF_MEASURE, V_SERIAL_NUMBER, V_LOT_NUMBER,V_PROJECT_NUMBER, V_PROJECT_NAME,
V_CUSTOMER_NAME, V_CUSTOMER_ADDRESS, V_BLADE_STALL, V_INSTALL_ANGLE_INIT_VALUE,
V_INSTALL_ANGLE_ADJUST_VALUE, V_SWIRL_GENERATOR, V_P_INSTANCE_NUMBER, V_P_ITEM_NUMBER,
V_P_ITEM_DESCRIPTION, V_P_ITEM_CATEGORY, V_INSTALL_DATE, V_LAST_UPDATE_DATE, V_P_SERIAL_NUMBER,
B_INSTANCE_NUMBER;
exit when INSTANCE_Cursor%notfound;
if(B_INSTANCE_NUMBER != ' ') then
UPDATE cux_scada_item_instance_v
SET ITEM_NUMBER = V_ITEM_NUMBER,
ITEM_DESCRIPTION = V_ITEM_DESCRIPTION,
ITEM_CATEGORY = V_ITEM_CATEGORY,
QUANTITY = V_QUANTITY,
UNIT_OF_MEASURE = V_UNIT_OF_MEASURE,
SERIAL_NUMBER = V_UNIT_OF_MEASURE,
LOT_NUMBER = V_UNIT_OF_MEASURE,
PROJECT_NUMBER = V_UNIT_OF_MEASURE,
PROJECT_NAME = V_PROJECT_NAME,
CUSTOMER_NAME = V_CUSTOMER_NAME,
CUSTOMER_ADDRESS = V_CUSTOMER_ADDRESS,
BLADE_STALL = V_BLADE_STALL,
INSTALL_ANGLE_INIT_VALUE = V_INSTALL_ANGLE_INIT_VALUE,
INSTALL_ANGLE_ADJUST_VALUE = V_INSTALL_ANGLE_ADJUST_VALUE,
SWIRL_GENERATOR = V_SWIRL_GENERATOR,
P_INSTANCE_NUMBER = V_P_INSTANCE_NUMBER,
P_ITEM_NUMBER = V_P_ITEM_NUMBER,
P_ITEM_DESCRIPTION = V_P_ITEM_DESCRIPTION,
P_ITEM_CATEGORY = V_P_ITEM_CATEGORY,
INSTALL_DATE = V_INSTALL_DATE,
LAST_UPDATE_DATE = Update_Time,
P_SERIAL_NUMBER = V_P_SERIAL_NUMBER
WHERE INSTANCE_NUMBER = B_INSTANCE_NUMBER; else
V_ID := SYS_GUID();
INSERT INTO cux_scada_item_instance_v
(ID,
INSTANCE_NUMBER,
ITEM_NUMBER,
ITEM_DESCRIPTION,
ITEM_CATEGORY,
QUANTITY,
UNIT_OF_MEASURE,
SERIAL_NUMBER,
LOT_NUMBER,
PROJECT_NUMBER,
PROJECT_NAME,
CUSTOMER_NAME,
CUSTOMER_ADDRESS,
BLADE_STALL,
INSTALL_ANGLE_INIT_VALUE,
INSTALL_ANGLE_ADJUST_VALUE,
SWIRL_GENERATOR,
P_INSTANCE_NUMBER,
P_ITEM_NUMBER,
P_ITEM_DESCRIPTION,
P_ITEM_CATEGORY,
INSTALL_DATE,
LAST_UPDATE_DATE,
P_SERIAL_NUMBER)
VALUES
(V_ID,
V_INSTANCE_NUMBER,
V_ITEM_NUMBER,
V_ITEM_DESCRIPTION,
V_ITEM_CATEGORY,
V_QUANTITY,
V_UNIT_OF_MEASURE,
V_SERIAL_NUMBER,
V_LOT_NUMBER,
V_PROJECT_NUMBER,
V_PROJECT_NAME,
V_CUSTOMER_NAME,
V_CUSTOMER_ADDRESS,
V_BLADE_STALL,
V_INSTALL_ANGLE_INIT_VALUE,
V_INSTALL_ANGLE_ADJUST_VALUE,
V_SWIRL_GENERATOR,
V_P_INSTANCE_NUMBER,
V_P_ITEM_NUMBER,
V_P_ITEM_DESCRIPTION,
V_P_ITEM_CATEGORY,
V_INSTALL_DATE,
Update_Time,
V_P_SERIAL_NUMBER); end if; I_ProcessCount := I_ProcessCount + 1;
end loop; close INSTANCE_Cursor;
commit;
RecordJobResult(v_JobID,v_StartDateTime,sysdate,I_ProcessCount,'OK','',V_Username);
exception
when others then
v_ErrorID := substrb(sqlerrm,1,4000);
if INSTANCE_Cursor%isopen then
close INSTANCE_Cursor;
end if; rollback;
RecordJobResult(v_JobID,v_StartDateTime,sysdate,I_ProcessCount,'FAIL',v_ErrorID,V_Username);
commit;
end ImportINSTANCE;
end PKG_Import_ITEM_INSTANCE;
-- Created : 9/16/2011 2:09:59 PM
-- Purpose :
--DBLINK_NAME
V_DBLINK_NAME VARCHAR2(40) := '@JF_8004';
V_SQL VARCHAR2(5000) := '';
V_ID VARCHAR2(40);
V_MSG VARCHAR2(5000) := '';
--记录 CUX_SCADA_JOBLOG 表
procedure RecordJobResult(
p_JobID IN VARCHAR2,
p_StartDateTime IN DATE,
p_EndDateTime IN DATE,
p_ProcessCount IN NUMBER,
p_Result IN VARCHAR2,
p_ErrorMsg IN NVARCHAR2,
V_Username in varchar2) is
v_UsedSeconds NUMBER;
begin
v_UsedSeconds := (p_EndDateTime - p_StartDateTime) * 24 * 60 * 60;
INSERT INTO CUX_SCADA_JOBLOG(SERIAL,jobid,startdatetime,enddatetime,usedtime,processcount,result,errormsg,Username)
VALUES(SYS_GUID(),p_JobID,p_StartDateTime,p_EndDateTime,v_UsedSeconds,p_ProcessCount,p_Result,p_ErrorMsg,V_Username);
commit;
return;
exception
when others then
V_MSG := substrb(sqlerrm,1,4000);
return;
end RecordJobResult;
PROCEDURE ImportINSTANCE is
V_INSTANCE_NUMBER VARCHAR2(30); -- not null
V_ITEM_NUMBER VARCHAR2(40);
V_ITEM_DESCRIPTION VARCHAR2(240);
V_ITEM_CATEGORY VARCHAR2(240);
V_QUANTITY NUMBER; --not null
V_UNIT_OF_MEASURE VARCHAR2(3); --not null
V_SERIAL_NUMBER VARCHAR2(30);
V_LOT_NUMBER VARCHAR2(80);
V_PROJECT_NUMBER VARCHAR2(240);
V_PROJECT_NAME VARCHAR2(240);
V_CUSTOMER_NAME VARCHAR2(360); -- not null
V_CUSTOMER_ADDRESS VARCHAR2(240);
V_BLADE_STALL VARCHAR2(240);
V_INSTALL_ANGLE_INIT_VALUE VARCHAR2(240);
V_INSTALL_ANGLE_ADJUST_VALUE VARCHAR2(240);
V_SWIRL_GENERATOR VARCHAR2(240);
V_P_INSTANCE_NUMBER VARCHAR2(30);
V_P_ITEM_NUMBER VARCHAR2(40);
V_P_ITEM_DESCRIPTION VARCHAR2(240);
V_P_ITEM_CATEGORY VARCHAR2(240);
V_INSTALL_DATE VARCHAR2(20);
V_LAST_UPDATE_DATE VARCHAR2(20); -- not null
V_P_SERIAL_NUMBER VARCHAR2(30);
INSTANCE_Cursor Sys_Refcursor;
Update_Time VARCHAR2(30);
B_INSTANCE_NUMBER VARCHAR2(30);
v_JobID VARCHAR2(40) := 'JOB_ImportINSTANCE';
-- v_StartDateTime DATE;
v_StartDateTime DATE :=sysdate;
I_ProcessCount NUMBER := 0;
v_ErrorID VARCHAR2(4000);
V_Username varchar2(40) := 'admin';
begin
select to_char(sysdate,'yyyy-MM-dd HH24:MI:SS')
into Update_Time from dual;
SELECT NVL(MAX(LAST_UPDATE_DATE), '1990-01-01 12:00:00')
INTO V_LAST_UPDATE_DATE
FROM cux_scada_item_instance_v;
--测试之用
--V_LAST_UPDATE_DATE :='2011-09-20 10:20:54';
V_SQL := '';
V_SQL := V_SQL || ' SELECT
a.INSTANCE_NUMBER,a.ITEM_NUMBER,a.ITEM_DESCRIPTION,a.ITEM_CATEGORY,a.QUANTITY,a.UNIT_OF_MEASURE,a.SERIAL_NUMBER,';
V_SQL := V_SQL || '
a.LOT_NUMBER,a.PROJECT_NUMBER,a.PROJECT_NAME,a.CUSTOMER_NAME,a.CUSTOMER_ADDRESS,a.BLADE_STALL,a.INSTALL_ANGLE_INIT_VALUE,';
V_SQL := V_SQL || '
a.INSTALL_ANGLE_ADJUST_VALUE,a.SWIRL_GENERATOR,a.P_INSTANCE_NUMBER,a.P_ITEM_NUMBER,a.P_ITEM_DESCRIPTION,';
V_SQL := V_SQL || ' a.P_ITEM_CATEGORY,a.INSTALL_DATE,a.LAST_UPDATE_DATE,a.P_SERIAL_NUMBER,';
V_SQL := V_SQL || ' NVL(b.INSTANCE_NUMBER,'' '') AS BINSTANCE_NUMBER';
V_SQL := V_SQL || ' FROM (';
V_SQL := V_SQL || ' SELECT *';
V_SQL := V_SQL || ' from cux_scada_item_instance_v' || V_DBLINK_NAME;
V_SQL := V_SQL || ' WHERE to_char(LAST_UPDATE_DATE,''yyyy-MM-dd HH24:MI:SS'')>'''||V_LAST_UPDATE_DATE ||''') a';
V_SQL := V_SQL || ' LEFT JOIN cux_scada_item_instance_v b';
V_SQL := V_SQL || ' ON a.INSTANCE_NUMBER=b.INSTANCE_NUMBER';
open INSTANCE_Cursor for V_SQL;
loop
fetch INSTANCE_Cursor
into V_INSTANCE_NUMBER, V_ITEM_NUMBER, V_ITEM_DESCRIPTION, V_ITEM_CATEGORY, V_QUANTITY,
V_UNIT_OF_MEASURE, V_SERIAL_NUMBER, V_LOT_NUMBER,V_PROJECT_NUMBER, V_PROJECT_NAME,
V_CUSTOMER_NAME, V_CUSTOMER_ADDRESS, V_BLADE_STALL, V_INSTALL_ANGLE_INIT_VALUE,
V_INSTALL_ANGLE_ADJUST_VALUE, V_SWIRL_GENERATOR, V_P_INSTANCE_NUMBER, V_P_ITEM_NUMBER,
V_P_ITEM_DESCRIPTION, V_P_ITEM_CATEGORY, V_INSTALL_DATE, V_LAST_UPDATE_DATE, V_P_SERIAL_NUMBER,
B_INSTANCE_NUMBER;
exit when INSTANCE_Cursor%notfound;
if(B_INSTANCE_NUMBER != ' ') then
UPDATE cux_scada_item_instance_v
SET ITEM_NUMBER = V_ITEM_NUMBER,
ITEM_DESCRIPTION = V_ITEM_DESCRIPTION,
ITEM_CATEGORY = V_ITEM_CATEGORY,
QUANTITY = V_QUANTITY,
UNIT_OF_MEASURE = V_UNIT_OF_MEASURE,
SERIAL_NUMBER = V_UNIT_OF_MEASURE,
LOT_NUMBER = V_UNIT_OF_MEASURE,
PROJECT_NUMBER = V_UNIT_OF_MEASURE,
PROJECT_NAME = V_PROJECT_NAME,
CUSTOMER_NAME = V_CUSTOMER_NAME,
CUSTOMER_ADDRESS = V_CUSTOMER_ADDRESS,
BLADE_STALL = V_BLADE_STALL,
INSTALL_ANGLE_INIT_VALUE = V_INSTALL_ANGLE_INIT_VALUE,
INSTALL_ANGLE_ADJUST_VALUE = V_INSTALL_ANGLE_ADJUST_VALUE,
SWIRL_GENERATOR = V_SWIRL_GENERATOR,
P_INSTANCE_NUMBER = V_P_INSTANCE_NUMBER,
P_ITEM_NUMBER = V_P_ITEM_NUMBER,
P_ITEM_DESCRIPTION = V_P_ITEM_DESCRIPTION,
P_ITEM_CATEGORY = V_P_ITEM_CATEGORY,
INSTALL_DATE = V_INSTALL_DATE,
LAST_UPDATE_DATE = Update_Time,
P_SERIAL_NUMBER = V_P_SERIAL_NUMBER
WHERE INSTANCE_NUMBER = B_INSTANCE_NUMBER; else
V_ID := SYS_GUID();
INSERT INTO cux_scada_item_instance_v
(ID,
INSTANCE_NUMBER,
ITEM_NUMBER,
ITEM_DESCRIPTION,
ITEM_CATEGORY,
QUANTITY,
UNIT_OF_MEASURE,
SERIAL_NUMBER,
LOT_NUMBER,
PROJECT_NUMBER,
PROJECT_NAME,
CUSTOMER_NAME,
CUSTOMER_ADDRESS,
BLADE_STALL,
INSTALL_ANGLE_INIT_VALUE,
INSTALL_ANGLE_ADJUST_VALUE,
SWIRL_GENERATOR,
P_INSTANCE_NUMBER,
P_ITEM_NUMBER,
P_ITEM_DESCRIPTION,
P_ITEM_CATEGORY,
INSTALL_DATE,
LAST_UPDATE_DATE,
P_SERIAL_NUMBER)
VALUES
(V_ID,
V_INSTANCE_NUMBER,
V_ITEM_NUMBER,
V_ITEM_DESCRIPTION,
V_ITEM_CATEGORY,
V_QUANTITY,
V_UNIT_OF_MEASURE,
V_SERIAL_NUMBER,
V_LOT_NUMBER,
V_PROJECT_NUMBER,
V_PROJECT_NAME,
V_CUSTOMER_NAME,
V_CUSTOMER_ADDRESS,
V_BLADE_STALL,
V_INSTALL_ANGLE_INIT_VALUE,
V_INSTALL_ANGLE_ADJUST_VALUE,
V_SWIRL_GENERATOR,
V_P_INSTANCE_NUMBER,
V_P_ITEM_NUMBER,
V_P_ITEM_DESCRIPTION,
V_P_ITEM_CATEGORY,
V_INSTALL_DATE,
Update_Time,
V_P_SERIAL_NUMBER); end if; I_ProcessCount := I_ProcessCount + 1;
end loop; close INSTANCE_Cursor;
commit;
RecordJobResult(v_JobID,v_StartDateTime,sysdate,I_ProcessCount,'OK','',V_Username);
exception
when others then
v_ErrorID := substrb(sqlerrm,1,4000);
if INSTANCE_Cursor%isopen then
close INSTANCE_Cursor;
end if; rollback;
RecordJobResult(v_JobID,v_StartDateTime,sysdate,I_ProcessCount,'FAIL',v_ErrorID,V_Username);
commit;
end ImportINSTANCE;
end PKG_Import_ITEM_INSTANCE;
发表评论
-
Toad快捷键
2012-05-31 23:19 1683F4 移动到表上,查看表的描述 F5 重启当前页面 ... -
Oracle在Win7系统安装
2012-05-31 23:06 1412========================== ... -
PLSQL快捷键
2011-12-20 10:00 10671、登录后默认自动选中My Objects 默认情况下,PL ... -
创建sequence和TRIGGER实现ID自增长
2011-12-05 09:19 1044CREATE TABLE s_if_erptransferlo ... -
ORACLE 将数值转换成百分数
2011-11-18 08:50 5908select to_char(round(number1*10 ... -
Select … for update--手工加锁语句
2011-10-11 15:00 12394Select … for update语句是我们经常使用手工加 ... -
oracle解锁表
2011-10-09 09:04 1025select SESSION_ID ,o.* from v$ ... -
oracle创建视图
2011-09-09 11:44 1081Oracle的数据库对象分为 ...
相关推荐
- **包 (Package)**:SSIS 中的基本执行单元,包含了用于提取、转换和加载数据的所有组件。 - **控制流 (Control Flow)**:包内组件之间的逻辑连接,定义了数据流动的方向。 - **数据流 (Data Flow)**:负责数据转换...
mysql通过binlog同步数据到redis的方法 本文档介绍了使用mysql的binlog机制同步数据到redis的方法。该方法通过模仿mysql的slave角色,从master获取数据库变化的数据,写入activeMQ,再同步到redis,实现数据同步的...
- **位同步**:确保数据在传输过程中的同步。 10. **帧格式**: 包括固定长度和可变长度的帧,以及包含数据字段、长度、地址、控制和校验信息的结构。 11. **长度、地址、控制和校验八位位组**: - **长度八位...
6. **复制技术**:允许数据库的数据和架构在多个服务器间同步,适用于分布式环境和灾难恢复策略。 7. **数据库镜像**:为高可用性提供解决方案,通过镜像主数据库到辅助服务器,确保在主服务器故障时能无缝切换。 ...
Atom-atom-package-sync 是一个专为 Atom 文本编辑器设计的插件,它允许用户方便地同步他们的 Atom 包和个性化设置。这个压缩包文件名 "Atom-atom-package-sync.zip" 暗示了它的主要功能是将用户的 Atom 安装配置...
### 图解rsync数据同步部署文档关键知识点解析 #### 一、什么是rsync? rsync是一种高效的远程数据同步工具,最初设计用于Unix-like系统环境,但后来也发展出了Windows下的实现,如cwRsync。其核心功能在于能够...
Vue组件可以封装可重用的代码块,而`v-model`指令用于双向数据绑定,使输入框的值与Vue实例的数据保持同步。 3. **天知道**:这个名字可能指的是一个随机知识问答或者天气查询的应用。Vue可以轻松地处理异步数据,...
7. **数据复制功能**:可能优化了复制技术,使得数据同步和分布更加有效。 8. **错误处理和日志记录**:提升了错误报告的准确性和详细程度,帮助管理员更快定位并解决问题。 9. **JDBC驱动增强**:对于Java开发者...
4. 数据同步:工具还支持数据同步功能,使用户能够在多台电脑间无缝切换工作状态,保持数据一致性。 5. 安全管理:U3 Package Prototyper提供了安全机制,防止未经授权的访问和修改,保证U3盘内数据的安全性。 三、...
- **帧结构**:定义了 LIN 帧的基本组成,包括同步字段、标识符、数据字段等。 - **数据传输**:详细解释了如何在 LIN 网络中发送和接收数据,包括帧的传输顺序和数据的打包方式。 - **时间表**:描述了 LIN 网络...
### Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步 #### 概述 在现代的大数据处理场景下,为了提高数据处理效率以及更好地利用资源,通常会采用多种数据库技术组合的方式来构建系统架构。Elastic...
PG数据同步工具(Java实现) 隧道是一个将postgresql的实时数据同步到es或kafka的服务 版本支持 Postgresql 9.4或更高版本 Kafka 0.8或更高版本 ElasticSearch 5.x 架构图 原理 tunnel利用pg内部的逻辑复制功能,...
2. **标准模板库(STL)**:包括容器(如vector、list、map)、算法和迭代器等,是C++编程中常用的数据结构和函数库。 3. **MFC(Microsoft Foundation Classes)**:面向对象的C++类库,用于开发Windows应用程序。 ...
在实际开发中,"背包"系统还可能涉及到其他技术,如序列化(Serialization)来持久化数据,事件驱动(Event-driven)来响应用户操作,甚至可能结合服务器端进行同步,实现多玩家游戏中的物品交换。理解并掌握这些...
* 同步模式:实时的捕获变化数据并存储到变化表中,发布者与订阅都位于同一数据库中 * 异步模式:以 Oracle 流复制技术为基础,由于流复制比较复杂,本文档不涉及异步模式的 CDC CDC 相关的数据库对象: * 包...
动作同步节点元 将package.json与存储库元数据同步的GitHub Action。 有些值是相同的。 为什么不自动使它们保持同步?输出示例例覆盖文件每当在分支master上推送提交时运行的示例工作流程。 如果它与GitHub存储库...
- **帧**:是数据传输的基本单元,包含了同步字段、标识符、数据字段和校验码等部分。 - **数据传输**:通过主节点发起请求,从节点响应的方式进行。 - **时间表**:定义了数据帧发送的时间顺序,确保网络中的...
5. **复制改进**:引入了半同步复制(Semi-Synchronous Replication),确保主服务器上的事务在复制到从服务器之前至少被一个从服务器确认,提高了数据一致性。 6. **高可用性与恢复**:支持崩溃安全的二进制日志,...
Oracle GoldenGate 是一款高效的数据复制工具,用于实现不同数据库之间的实时数据同步。在这个场景中,我们关注的是如何在SQL Server数据库环境下安装配置Oracle GoldenGate(OGG),并将数据从SQL Server实时同步到...
rsync+inotify可以应用于文件服务器、备份系统、数据中心等领域,实现文件之间的实时同步备份,提高数据安全性和可靠性。 CentOS 7下用rsync+inotify实现实时同步可以实现文件之间的实时同步备份,具有高效、可靠、...