请问安装在Windows Server2008r2系统的oracle的odbc,可以连到安装在AIX 7.1系统的Oracle数据库吗

请问安装在Windows Server2008r2系统的oracle的odbc,可以连到安装在AIX 7.1系统的Oracle数据库吗,第1张

假设要将SQL Server中的Northwind数据中的Products表导出到Oracle的Scott用户 首先需要有安装SQL Server企业版 1.打开工具: 开始->程序-> 导入和SQL Server数据导出数据 2.下一步,选择数据源 [数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。 [服务器]选择要导出数据的服务器,如果是本机,选择(local) [数据库]选择要导出的数据所在的库,这里选择Northwind 3.下一步,选择目的 [目的]选择Microsoft ODBC for Oracle [DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。 如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。 接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle 下一步,完成,出现Microsoft ODBC for Oracle安装界面 [数据源名称]随便输入,比如sss [说明]可以不填 [用户名称]填入要SQL Server数据导出到的Oracle用户名称,这里是scott [服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus scott/tiger即可连接到数据库,这里空着不填即可。 这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。 [用户名]填入SQL Server数据导出到的Oracle用户名称,这里是scott [密码]填入SQL Server数据导出到的Oracle用户使用的密码,这里是tiger 4.下一步,指定表复制或查询 如果要导出的内容是整个表,选择[从源数据库复制表和视图] 如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句 这里选择第一项[从源数据库复制表和视图] 5.下一步,选择源表和视图 点中要导出的表Products一行的复选框,目的、转换两栏就会出现内容。 目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句 6.下一步,保存、调度和复制包 选中立即运行 7.下一步,正在完成DTS导入/导出向导 8.完成 提示“成功地将n个表从Microsoft SQLServer复制到了Oracle” 9.完成,关闭导入导出程序 注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Products表在oracle里查询就应该写成select from scott."Products";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。

可以的1、在目的SQL Server数据库服务器上安装ORACLE Client软件或者ORACLE ODBC Driver通过oracle客户端,在netmanager中建立“服务(TNS server)”,并测试连接上oracle数据库正常2、在sqlserver的DTS(导入和导出数据工具)进行(1)选择数据源:数据源:oracle in oracle9i选择:用户/系统DSN:点击新建DSN:选择数据源类型:系统数据源,下一步:选择驱动程序:oracle in oracle9i,下一步,完成 ,进入oracle odbc driver configration页面再输入:datasorce name:GZDSTNS server name:gz(通过netmanager定义好TNS server)user:(oracle登录用户)填写好以后,进行"TEST Connection"可以连通,则点击“ok”,DSN建立完成数据源选择完成,点击“下一步”进入“选择目的”(2)选择目的目的:用于SQL Server的Microsoft OLE DB提供程序服务器:192168063选择:使用sqlserver身份登录用户名:sa 密码:pass并刷新,选择好数据库:test(目的数据库,提前建立好的)并点击“下一步”a从数据源复制表和数据(下一步:选择源表及视图)b用一条查询语句指定要传输的数据(进行sql编辑)(通过以上选择好要复制的数据表或者相关视图)再点击下一步“保存、调度和复制包”(3)“保存、调度和复制包”时间:立即运行再点击下一步:进行:“正在完成DTS导入导出”向导(4)完成:点击:“完成”按钮,系统进入数据复制“正在执行包”的页面,可以看到数据正在复杂的进度条注意:在ORACLE表和SQL Server表之间'转换'那步很重要,可以改变默认的字段数据类型,如image->text,decimal->int

业务流程管理系统(Business Process Management System, BPM)是为实体企业的业务流程管理、调度与优化而开发的一类软件系统。以下是一些常见的业务流程管理系统:

Bonita:一款开源的业务流程管理系统,可以支持BPMN 20标准,并提供了各种组件和工具用于快速开发和构建流程。

Pega:Pega是基于云的低代码平台,它提供了灵活的开发工具和组件,可以支持流程建模、流程执行、任务管理和流程优化等功能。

Camunda:Camunda是一个免费、开源的BPM系统,它支持BPMN 20标准,并且提供了各种扩展和组件供开发人员使用。

Nintex:Nintex是一个可视化的流程自动化工具,以低代码的方式管理流程。它可以支持数字化流程、自动化工作流、移动办公以及AI等功能。

Appian:Appian是一个全栈的BPM系统,可以支持建模、执行、优化业务流程,同时支持在云端和本地部署,可以良好地与其他系统和应用程序集成。

Oracle BPM:Oracle BPM是一个企业级业务流程管理系统,可以支持自动化业务流程、提高企业的开发效率和协作,同时还可以与其他Oracle应用程序集成。

以上是一些常见的业务流程管理系统,这些系统可以帮助企业容易地设计、自动化和监控各种业务流程,提高企业的生产力和效率。

由系统软件、支撑软件和应用软件组成的计算机软件系统。

它是计算机系统中由软件组成的部分。它包括 *** 作系统、语言处理系统、数据库系统、分布式软件系统和人机交互系统等。 *** 作系统用于管理计算机的资源和控制程序的运行。

数据库系统是用于支持数据管理和存取的软件,它包括数据库、数据库管理系统等。数据库是常驻在计算机系统内的一组数据,它们之间的关系用数据模式来定义,并用数据定义语言来描述。

备份脚本应该对Log重定向并保存 以便在出错的查找有用信息

与RMAN备份有关的优化

备份 *** 作主要是完成以下三个步骤

从磁盘上读取数据

在内存中处理数据块

写入数据到磁盘或磁带

以上的读写 *** 作可以同步或异步的完成 在同步I/O *** 作中 一个时间只允许有一个IO *** 作 但是在异步I/O *** 作中 一个时间允许有多个IO *** 作 因此 备份与恢复的调优主要集中在以下几个方面

提高同步或异步I/O *** 作能力

在支持异步 *** 作的 *** 作系统上 可以通过设置TAPE_AYSNCH_IO DISK_ASYNCH_IO和BACKUP_TYPE_IO_SLAVES来支持异步 *** 作 提高写的能力

提高磁盘读能力

可以在backup命令后通过设置DISKRATIO来保证从多个磁盘上读取数据 保证连续的数据流

正确设置缓冲区与参数值

设置LARGE_POOL_SIZE 使备份可以使用连续的缓冲池 通过设置DB_FIL_DIRECT_IO_COUNT可以提高缓冲区的利用 如果使用磁带备份 还可以设置BACKUP_TYPE_IO_SLAVES来提高磁带的写能力

采用并行备份

开辟多个通道 可以实现并行备份与恢复

备份RMAN数据库

RMAN自己的数据库也需要备份 但是本身很小 而且不是经常发生变化 所以在每次RMAN备份完成后 都可以用如下脚本对RMAN数据库备份

     EXP pafile =exprman sql

exprman sql为

USERID=RMAN/RMAN

BUFFER=

OWNER=RMAN

FILE=RMAN DMP

ROWS=Y

GRANTS=Y

PRESS=Y

CONSISTENT=Y

使自动备份数据库

自动备份数据库不外乎以下三种方式

WINDOWS下的任务计划(At命令)

UNIX下的Crontab

第三方工具如Viritas

在以上三种方式中Viritas属于第三方工具 很多人可能都没有接触 主要说一下windows的任务计划与unix的cron

生成脚本文件 如backup rcv

假定文件内容如下

     $NewsContent$gt;cat backup rcv

connect target sys/password rcvcat rman/rman@localname;

run{

allocate channel c type disk;

allocate channel c type disk;

allocate channel c type disk;

backup fileaperset format /u /oradata/backup/arch%u_%s_%p

archivelog all delete input;

release channel c ;

release channel c ;

release channel c ;

}

生成执行文件

在windows上生成backup_archive bat 内容包括

rman cmdfile = backup rcv

在unix下生成 backup_archive sh 内容包括

/oracle/ramn/rman cmdfile = backup rcv

加入调度

在windows中用任务计划向导即可 或使用at命令

在unix中 在目标机器上编写一个文件 用以启动自动备份进程 假定文件名为ORACLE 文件将放在/var/spool/cron/crontabs目录下

$NewsContent$gt;cat oracle

backup_archive sh

#表示星期天 点对数据库备份

backup_archive sh

#表示每天 点 点备份

Crontab文件的每一行由六个域(minutes hours day of month month day of week mand)组成 域之间用空格或Tab分隔开来

五 常见误区

使用EXP/IMP备份

EXP/IMP不是一个良好的备份工具 在以后的发展之中 ORACLE对EXP/IMP用于备份的支持会越来越低 ORACLE只是把EXP/IMP当作一个好的工具而不是备份工具 在对于大型数据库 如TB级数据库或数据仓库 EXP/IMP肯定会力不从心

在应用程序中备份数据库

在论坛上 有很多这样的要求 我怎么在程序中备份与恢复数据库 首先说 这个并不是不可以实现 但是实现的过程会很复杂而且意外会很多 就我的感觉 提出这样问题的人 首先一点就是对ORACLE或DBA的不了解 如果ORACLE可以这么轻松的实现备份与恢复 那么我可以说 就不需要DBA了

冷备份比热备份更容易 效果会更好

有人认为 冷备份是关闭数据库进行的一致性备份 肯定比热备份要好 使用也容易 其实不尽然 在热备份中 一样可以实现数据库的全备份 而且不会影响到数据库的运行 建议所有的生产机 都运行在归档方式下 采用热备份方式

六 常见问题

我导出的数据为什么不能导入 提示不支持的字符集转换

答 参考上面的字符集原则 导出数据时客户端与数据库字符集一致 导入时修改为与目标数据库字符集一致

我的归档日志越来越多 我什么时候可以删除归档日志

答 在每一次全备份(如OS全冷备份或全热备份)或基于全备份的增量备份(如RMAN基于 级备份上的增量备份)后都可以删除该备份点之前的归档日志 建议在磁带上保留一年

全备份时一定需要备份所有数据文件吗

答 不需要 起码有两类数据文件可以不备份 一类就是临时数据文件 如果丢失 可以删除后重建;一类是只读表空间数据文件 如果上次备份以来 没有修改过表空间的只读属性 就可以不需要备份

联机日志需要备份吗

答 如果是归档方式热备份 就没有必要备份联机日志 但是对于冷备份 可以备份联机日志 特别是不归档状态 备份过联机日志后的冷备份 因为数据库是一致的 可以恢复到该备份点

七 小结

什么是数据库备份 数据库备份就是把数据库复制到转储设备的过程

数据库的运行方式 可以分为归档方式和非归档方式 建议运行在归档方式下运行热备份

了解了数据库的备份方式 逻辑备份 冷备份 热备份

了解数据库的备份工具 EXP/IMP执行逻辑备份 OS脚本可以执行冷备份或热备份 RMAN也可以执行冷备份或热备份

了解ORACLE的备份策略 并怎样选择最佳的备份策略

lishixinzhi/Article/program/Oracle/201311/18107

六、数据库设计

原则上,数据库设计是指定系统中所有数据库文件及相关文件的逻辑结构与存储结构。本系统数据库的组成如图4

假定通过调查、分析,已经得到某商店的服装销售系统信息,为了使用的方便,也为了提高二维表的范式,我们建立五个主要的数据表,它们的结构如下。

工资表的结构

字段 字段类型 宽度 索引

工号 C 6 主索引

姓名 C 8

账号 C 10

应发工资 N 8 2

代扣项目 N 8 2

实发工资 N 8 2

职工情况表的结构

字段 字段类型 宽度 索引

工号 C 6 普通索引

姓名 C 8

性别 C 2

出生年月 D 8

部门 C 8

职位 C 8

籍贯 C 10

代扣项目表的结构

字段 字段类型 宽度 索引

工号 C 10 普通索引

姓名 C 8

水电费 N 6 2

社会保险 N 6 2

个人所得税 N 6 2

代扣项目合计 C 8 2

应发工资表的结构

字段 字段类型 宽度 索引

工号 C 10 普通索引

姓名 C 8

基本工资 N 8 2

误餐补贴 N 8

加班补贴 N 8 2

奖金 N 8 2

代扣项目合计 N 8 2

口令表的结构

字段 字段类型 宽度 索引

用户 C 10

口令 c 6

七、创建数据库

主界面如下

利用菜单选取项中工具栏按钮打开“新建”对话框,指定建立数据库文件,单击“新建”按钮,并给出数据文件名为:工资管理系统dbc,一个数据库文件就建立好了。形式如下图。

建立数据表

创建数据表:工资dbf、职工情况dbf、代扣项目dbf、应发工资dbf、口令dbf

在数据库中“数据库”菜单项,或者快捷菜单的“新建表”选项打开表设计器,在设计器窗口中分别键入各字段名、类型、宽度及小数位数值。结果如图所示

例:

工资dbf表

八、程序设计

程序设计是系统实施阶段贩核心工作,也是主要内容。本作业是基于VFP60的开发环境下进行的。通过使用“应用程序生成器向导”各“项目管理器”等编程工具来实现模块和功能。系统初始界面及其程序

本系统的初始界面如下所述:一个系统应当有一个生动的初始界面,同时还应当能够控制使用该系统的人员,

正确选择 *** 作员输入允许的口令后,单击“确定”按钮打开系统。

“确认”按钮的响应程序如下 。

f lenc(allt(thisformtext1value))#0andlenc(allt(thisformtext2value))#0 then

close database

open database("口令dbc")

use 口令dbf

store 0 to ncount

locate for allt(用户)=allt(thisformtext1value)

do while found()

if allt(口令)=allt(thisformtext2value) then

ncount=recno()

endif

continue

enddo

if ncount>0 then

thisformrelease

do 工资管理系统mpr

else

messagebox("您输入的用户名和口令能错误,请退出!","错误窗口")

endif

use

else

messagebox("请输入用户名和口令!","提示窗口")

thisformtext2value=""

thisformtext1setfocus

endif

系统主控界面

系统以菜单方式 *** 作。

系统的主控程序

整个系统由主控程序 主程序prg调度。该程序内容如下:

et talk off

set safe off

set date ansi

set hours to 24

set cent on

set path to curdir()

_screenvisible=t

_screenautocenter=t

_screenwindowstate=2

do form 欢迎scx

read events

set sysmenu to defa

set talk on

set safety on

close all

clear all

clear windows

clear event

cancel

这个实例是企业工资管理系统

那个高手可以变一个比如说

水果批发系统只要跟上面的不一样就行

MySQL数据同步主要有三种方式:

1利用MySQL自身的数据库同步功能

2利用MySQL数据库的特性(数据库存在固顶目录,并且以文件形式存储),进行数据库目录同步以达到数据同步目的

3利用专用的MySQL数据库同步软件

1利用MySQL自身的数据库同步功能:

MySQL从32315版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能

数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是mycnf),在unix环境下在/etc/mysql/mycnf或者在mysql用户的home目录下的mycnf。

windows环境中,如果c:根目录下有mycnf文件则取该配置文件。当运行mysql的winmysqladminexe工具时候,该工具会把c:根目录下的mycnf命名为mycnfbak。并在winnt目录下创建myini。mysql服务器启动时候会读该配置文件。所以可以把mycnf中的内容拷贝到myini文件中,用myini文件作为mysql服务器的配置文件。

设置方法:

设置范例环境:

*** 作系统:window2000professional

mysql:404-beta-max-nt-log

Aip:10101022

Bip:10101053

A:设置

1增加一个用户最为同步的用户帐号:

GRANTFILEONTObackup@'10101053'IDENTIFIEDBY‘1234’

2增加一个数据库作为同步数据库:

createdatabasebackup

B:设置

1增加一个用户最为同步的用户帐号:

GRANTFILEONTObackup@'10101022'IDENTIFIEDBY‘1234’

2增加一个数据库作为同步数据库:

createdatabasebackup

主从模式:A->B

A为master

修改Amysql的myini文件。在mysqld配置项中加入下面配置:

server-id=1

log-bin

#设置需要记录log可以设置log-bin=c:mysqlbakmysqllog设置日志文件的目录,

#其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件。

binlog-do-db=backup#指定需要日志的数据库

重起数据库服务。

用showmasterstatus命令看日志情况。

B为slave

修改Bmysql的myini文件。在mysqld配置项中加入下面配置:

server-id=2

master-host=10101022

master-user=backup#同步用户帐号

master-password=1234

master-port=3306

master-connect-retry=60预设重试间隔60秒

replicate-do-db=backup告诉slave只做backup数据库的更新

重起数据库

用showslavestatus看同步配置情况。

注意:由于设置了slave的配置信息,mysql在数据库目录下生成masterinfo

所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。

双机互备模式。

如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。

在A的配置文件中mysqld配置项加入以下设置:

master-host=10101053

master-user=backup

master-password=1234

replicate-do-db=backup

master-connect-retry=10

在B的配置文件中mysqld配置项加入以下设置:

log-bin=c:mysqllogmysqllog

binlog-do-db=backup

注意:当有错误产生时err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slavestart

重起AB机器,则可以实现双向的热备。

测试:

向B批量插入大数据量表AA(1872000)条

A数据库每秒钟可以更新2500条数据。

2数据库目录同步:

方法和文件同步一样,设置好需要同步的两个数据库目录就可以了!

缺点很明显,数据同步只能单向进行,可以作为备份方案

3用专用的MySQL同步软件进行同步 :

这方面的软件有SQLBalance和MyReplicator,优点是方便直观,还有很多争强功能!

缺点和2一样,只能单项同步!

当然也可以修改镜像网站的程序为提交数据到母数据库,读取则在当前镜像下的数据,不过,修改起来麻烦!普通用户修改也非常难!呵呵,大家了解一下就可以!给大家一个思路!有能力的朋友可以试试阿!

4关于MySQL论坛的数据同步

由于数据来源的不可控制(不好表达),论坛数据是实时的,而且还要考虑来自镜像论坛的数据,如何实现镜像论坛与母论坛数据同步呢

用1中介绍的MySQL自带的数据库同步功能互相备份模式就可以实现的!

不过,具体的应用我没有测试!稳定性不敢保证!

有能力的朋友推荐用下面这种思路来同步,相对来说减少点效率,但能减少发生的错误!

比如镜像论坛数据同步:

1母论坛和镜像论坛的数据全写在母论坛数据库里,主从模式,读取只在本地读取,这个需要修改程序!

2每次写数据,都同时提交到两个数据库中,安全,但是效率很差,也得修改程序!

MSSQL

MSSQL数据同步利用数据库复制技术实现数据同步更新(来自网络,也是非常完美的教程)

复制的概念 :

复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。

SQL复制的基本元素包括

出版服务器、订阅服务器、分发服务器、出版物、文章

SQL复制的工作原理

SQLSERVER主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器

SQLSERVER复制技术类型

SQLSERVER提供了三种复制技术,分别是:

1、快照复制(呆会我们就使用这个)

2、事务复制

3、合并复制

只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。

第一先来配置出版服务器

(1)选中指定[服务器]节点

(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令

(3)系统d出一个对话框点[下一步]然后看着提示一直 *** 作到完成。

(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)

第二创建出版物

(1)选中指定的服务器

(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会d出一个对话框

(3)选择要创建出版物的数据库,然后单击[创建发布]

(4)在[创建发布向导]的提示对话框中单击[下一步]系统就会d出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)

(5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQLSERVER2000"的数据库服务器

(6)单击[下一步]系统就d出一个定义文章的对话框也就是选择要出版的表

(7)然后[下一步]直到 *** 作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。

第三设计订阅

(1)选中指定的订阅服务器

(2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]

(3)按照单击[下一步] *** 作直到系统会提示检查SQLSERVER代理服务的运行状态,执行复制 *** 作的前提条件是SQLSERVER代理服务必须已经启动。

(4)单击[完成]。完成订阅 *** 作。

完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表—

一个手工同步的方案

--定时同步服务器上的数据

--例子:

--测试环境,SQLServer2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test

--服务器上的表(查询分析器连接到服务器上创建)

createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))

--以下在局域网(本机 *** 作)

--本机的表,state说明:null表示新增记录,1表示修改过的记录,0表示无变化的记录

ifexists(selectfromdbosysobjectswhereid=object_id(N'[user]')andOBJECTPROPERTY(id,N'IsUserTable')=1)

droptable[user]

GO

createtable[user]

(idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)

go

--创建触发器,维护state字段的值

createtriggert_stateon[user]

afterupdate

as

update[user]setstate=1

from[user]ajoininsertedbonaid=bid

whereastateisnotnull

go

--为了方便同步处理,创建链接服务器到要同步的服务器

--这里的远程服务器名为:xz,用户名为:sa,无密码

ifexists(select1frommastersysserverswheresrvname='srv_lnk')

execsp_dropserver'srv_lnk','droplogins'

go

execsp_addlinkedserver'srv_lnk','','SQLOLEDB','xz'

execsp_addlinkedsrvlogin'srv_lnk','false',null,'sa'

go

--创建同步处理的存储过程

ifexists(selectfromdbosysobjectswhereid=object_id(N'[dbo]

[p_synchro]')andOBJECTPROPERTY(id,N'IsProcedure')=1)

dropprocedure[dbo][p_synchro]

GO

createprocp_synchro

as

--setXACT_ABORTon

--启动远程服务器的MSDTC服务

execmasterxp_cmdshell'isql/S"xz"/U"sa"/P""/q"execmasterxp_cmdshell''netstartmsdtc'',no_output"',no_output

--启动本机的MSDTC服务

--execmasterxp_cmdshell'netstartmsdtc',no_output

--进行分布事务处理,如果表用标识列做主键,用下面的方法

--BEGINDISTRIBUTEDTRANSACTION

--同步删除的数据

deletefromsrv_lnktestdbo[user]

whereidnotin(selectidfrom[user])

--同步新增的数据

insertintosrv_lnktestdbo[user]

selectid,number,namefrom[user]wherestateisnull

--同步修改的数据

updatesrv_lnktestdbo[user]set

number=bnumber,name=bname

fromsrv_lnktestdbo[user]a

join[user]bonaid=bid

wherebstate=1

--同步后更新本机的标志

update[user]setstate=0whereisnull(state,1)=1

--COMMITTRAN

go

--创建作业,定时执行数据同步的存储过程

ifexists(SELECT1frommsdbsysjobswherename='数据处理')

EXECUTEmsdbdbosp_delete_job@job_name='数据处理'

execmsdbsp_add_job@job_name='数据处理'

--创建作业步骤

declare@sqlvarchar(800),@dbnamevarchar(250)

select@sql='execp_synchro'--数据处理的命令

@dbname=db_name()--执行数据处理的数据库名

execmsdbsp_add_jobstep@job_name='数据处理',

@step_name='数据同步',

@subsystem='TSQL',

@database_name=@dbname,

@command=@sql,

@retry_attempts=5,--重试次数

@retry_interval=5--重试间隔

--创建调度

EXECmsdbsp_add_jobschedule@job_name='数据处理',

@name='时间安排',

@freq_type=4,--每天

@freq_interval=1,--每天执行一次

@active_start_time=00000--0点执行

以上就是关于请问安装在Windows Server2008r2系统的oracle的odbc,可以连到安装在AIX 7.1系统的Oracle数据库吗全部的内容,包括:请问安装在Windows Server2008r2系统的oracle的odbc,可以连到安装在AIX 7.1系统的Oracle数据库吗、如何写一个复制oracle数据库表数据到postgresql的java程序、业务流程管理系统有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10083970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存