1.两相同数据库数据如何同步
bool TForm1 :: BuildTrace(int DBID, AnsiString AppFilter, AnsiString SQLFilter, AnsiString DstTable, int &TraceHandle) { char tempBuf[512]; Query1 -> Close(); Query1 -> SQL -> Clear(); TStrings *pSQL = Query1 -> SQL;pSQL -> Add("USE master"); pSQL -> Add("DECLARE @queue_handle int"); pSQL -> Add("DECLARE @column_value int"); pSQL -> Add("SET @column_value = 67108864|1|512|1024|10384"); pSQL -> Add("EXEC xp_trace_addnewqueue 1000,5,95,90,@column_value,@queue_handle OUTPUT"); pSQL -> Add("EXEC xp_trace_seteventclassrequired @queue_handle, 41,1 "); wsprintf(tempBuf,"EXEC xp_trace_setappfilter @queue_handle,'%s',NULL", AppFilter。
c_str()); pSQL -> Add(AnsiString(tempBuf)); wsprintf(tempBuf,"EXEC xp_trace_setdbidfilter @queue_handle,%d",DBID); pSQL -> Add( AnsiString(tempBuf)); wsprintf( tempBuf,"Exec xp_trace_settextfilter @queue_handle,'%s',NULL", SQLFilter。 c_str()); pSQL -> Add(AnsiString(tempBuf)); wsprintf( tempBuf, "EXEC xp_trace_setqueuedestination @queue_handle,4,1,NULL,'%s'", DstTable。
c_str() ); pSQL -> Add( AnsiString(tempBuf)); pSQL -> Add("EXEC xp_trace_startconsumer @queue_handle"); pSQL -> Add("SELECT @queue_handle QueueHandle"); try { Query1 -> Open(); } catch(。 。
) { return false; } TraceHandle = Query1 -> FieldByName("QueueHandle") -> AsInteger; return true; }。
2.如何实现两个数据库的同步
sql同步使用dblink同步数据。
具体参考实例:
1、在win下创建linux的DBLINK
a.查看linux下的tnsnames.ora文件
[oracle@myrac1 admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /s01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
HJJ =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myrac1.oracle.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hjj)
)
)
b.创建dblink
SQL> create database link win_lin_link connect to hjj identified by xxxx
2 using '(DESCRIPTION =
3 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.171)(PORT = 1521))
4 (CONNECT_DATA =
5 (SERVER = DEDICATED)
6 (SERVICE_NAME = hjj)
7 )
8 )'
9 /
Database link created.
2.在win下创建trigger
SQL> create or replace trigger trig_win_emp
2 after insert on emp
3 for each row
4 begin
5 insert into emp@win_lin_link values(:new.empno,:new.empname,:new.empsalary);
6 end;
7 /
Trigger created.
3.测试
4.结果
win下插入数据
SQL> insert into emp values('E001','LYN',2300);
1 row created.
SQL>COMMIT;
Commit complete.
SQL> select *from emp;
EMPNO EMPNAME EMPSALARY
---------------------------------------- ---------------------------------------- ----------
E001 LYN 2300
SQL> select * from emp@win_lin_link;
EMPNO EMPNAME EMPSALARY
---------------------------------------- ---------------------------------------- ----------
E001 LYN 2300
linux下查看数据
SQL> select * from emp;
EMPNO EMPNAME EMPSALARY
-------------------- -------------------- ----------
E001 LYN 2300
3.如何实现同步两个服务器的数据库
同步两个SQLServer数据库 如何同步两个sqlserver数据库的内容?程序代码可以有版本管理cvs进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致.各位有什么好的方法吗? 一、分发与复制 用强制订阅实现数据库同步操作. 大量和批量的数据可以用数据库的同步机制处理: // 说明: 为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式 在客户机器使用强制订阅方式。
二、测试通过 1:环境 服务器环境: 机器名称: zehuadb 操作系统:windows 2000 server 数据库版本:sql 2000 server 个人版 客户端 机器名称:zlp 操作系统:windows 2000 server 数据库版本:sql 2000 server 个人版 2:建用户帐号 在服务器端建立域用户帐号 我的电脑管理->本地用户和组->用户->建立 username:zlp userpwd:zlp 3:重新启动服务器mssqlserver 我的电脑->控制面版->管理工具->服务->mssqlserver 服务 (更改为:域用户帐号,我们新建的zlp用户 .\zlp,密码:zlp) 4:安装分发服务器 a:配置分发服务器 工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置) b:配置发布服务器 工具->复制->创建和管理发布->选择要发布的数据库(sz)->下一步->快照发布->下一步->选择要发布的内容->下一步->下一步->下一步->完成 c:强制配置订阅服务器(推模式,拉模式与此雷同) 工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->sql server数据库->输入客户端服务器名称(zlp)->使用sql server 身份验证(sa,空密码)->确定->应用->确定 d:初始化订阅 复制监视器->发布服务器(zehuadb)->双击订阅->强制新建->下一步->选择启用的订阅服务器->zlp->下一步->下一步->下一步->下一步->完成 5:测试配置是否成功 复制监视器->发布衿?zehuadb)->双击sz:sz->点状态->点立即运行代理程序 查看: 复制监视器->发布服务器(zehuadb)->sz:sz->选择zlp:sz(类型强制)->鼠标右键->启动同步处理 如果没有错误标志(红色叉),恭喜您配置成功 6:测试数据 在服务器执行: 选择一个表,执行如下sql: insert into wq_newsgroup_s select '测试成功',5 复制监视器->发布服务器(zehuadb)->sz:sz->快照->启动代理程序 ->zlp:sz(强制)->启动同步处理 去查看同步的 wq_newsgroup_s 是否插入了一条新的记录 测试完毕,通过。 7:修改数据库的同步时间,一般选择夜晚执行数据库同步处理 (具体操作略) :d /* 注意说明: 服务器一端不能以(local)进行数据的发布与分发,需要先删除注册,然后新建注册本地计算机名称 卸载方式:工具->复制->禁止发布->是在"zehuadb"上静止发布,卸载所有的数据库同步配置服务器 注意:发布服务器、分发服务器中的sqlserveragent服务必须启动 采用推模式: "d:\microsoft sql server\mssql\repldata\unc" 目录文件可以不设置共享 拉模式:则需要共享~! */ 少量数据库同步可以采用触发器实现,同步单表即可。
三、配置过程中可能出现的问题 在sql server 2000里设置和使用数据库复制之前,应先检查相关的几台sql server服务器下面几点是否满足: 1、mssqlserver和sqlserveragent服务是否是以域用户身份启动并运行的(.\administrator用户也是可以的) 如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误: 进程未能连接到distributor '@server name' (如果您的服务器已经用了sql server全文检索服务, 请不要修改mssqlserver和sqlserveragent服务的local启动。 会照成全文检索服务不能用。
请换另外一台机器来做sql server 2000里复制中的分发服务器。) 修改服务启动的登录用户,需要重新启动mssqlserver和sqlserveragent服务才能生效。
2、检查相关的几台sql server服务器是否改过名称(需要srvid=0的本地机器上srvname和datasource一样) 在查询分析器里执行: use master select srvid,srvname,datasource from sysservers 如果没有srvid=0或者srvid=0(也就是本机器)但srvname和datasource不一样, 需要按如下方法修改: use master go -- 设置两个变量 declare @serverproperty_servername varchar(100), @servername varchar(100) -- 取得windows nt 服务器和与指定的 sql server 实例关联的实例信息 select @serverproperty_servername = convert(varchar(100), serverproperty('servername')) -- 返回运行 microsoft sql server 的本地服务器名称 select @servername = convert(varchar(100), @@servername) -- 显示获取的这两个参数 select @serverproperty_servername,@servername --如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的 --删除错误的服务器名 exec sp_dropserver @server=@servername --添加正确的服务器名 exec sp_addserver @server=@serverproperty_servername, @local='local' 修改这项参数,需要重新启动mssqlserver和sqlserveragent服务才能生效。 这样一来就不会在创建复制的过程中出现18482、18483错误了。
3、检查sql server企业。
4.如何在Word和Excel中实现数据同步求解答
其实,Word和Excel提供了能让两者数据同步的方法,并且简单易行。
Step1:复制段落。打开Word文档和要引用该Word数据的Excel工作表,然后在word中回个车,这时显示两个段落标记。选取这两个段落标记,然后复制。
Step2:粘贴链接。切换到Excel编辑窗口,鼠标右键单击数据栏,选择选择性粘贴,在弹出的窗口中员粘贴链接后,再选择Microsoft Office word文档对象,然后点确定退出。
Step3:同步输入。回到Word文档,输入内容,包括图片、表格均可。几秒种后,Excel中就会显示更改后的Word数据,这样就达到同步的目的了。如果你想让同步更快,那么在输入内容后点击Word工具栏上的保存按钮就要中以了。
需要的是,在Word中输入内容时,不能在最后一个段落标记前输入,否则是不会正常同步的,因此必须是最后一个段浇标记之上输入或回车再输入才有效。
对于以上的方法,相信对于常用这两个软件的用户来说是一个很好的技巧,利用以上的方法可以让自己在工作中更加的便利,当然,工作效率也会因此而有所提高,说起来真的很不错,所以还是应该收藏一下。
5.有2个数据库,怎么实现数据同步
为方便完成指定数据表的同步操作,可以采用dblink与merge结合的方法完成。
操作环境: 此数据库服务器ip为192.168.196.76,有center与branch两个库,一般需要将center的表数据同步到branch,center为源库,branch为目标库,具体步骤如下:
1.在源库创建到目标库的dblink
create database link branch --输入所要创建dblink的名称,自定义 connect to dbuser identified by “password” --设置连接远程数据库的用户名和密码 using '192.168.196.76/branch'; --指定目标数据库的连接方式,可用tns名称
6.如何实现两个SQL数据库的同步操作
sql同步使用dblink同步数据。
具体参考实例:1、在win下创建linux的DBLINKa.查看linux下的tnsnames.ora文件[oracle@myrac1 admin]$ cat tnsnames.ora# tnsnames.ora Network Configuration File: /s01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora# Generated by Oracle configuration tools.HJJ = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myrac1.oracle.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = hjj) ) )b.创建dblinkSQL> create database link win_lin_link connect to hjj identified by xxxx 2 using '(DESCRIPTION = 3 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.171)(PORT = 1521)) 4 (CONNECT_DATA = 5 (SERVER = DEDICATED) 6 (SERVICE_NAME = hjj) 7 ) 8 )' 9 / Database link created.2.在win下创建triggerSQL> create or replace trigger trig_win_emp 2 after insert on emp 3 for each row 4 begin 5 insert into emp@win_lin_link values(:new.empno,:new.empname,:new.empsalary); 6 end; 7 /Trigger created.3.测试4.结果win下插入数据SQL> insert into emp values('E001','LYN',2300);1 row created.SQL>COMMIT;Commit complete.SQL> select *from emp;EMPNO EMPNAME EMPSALARY---------------------------------------- ---------------------------------------- ----------E001 LYN 2300SQL> select * from emp@win_lin_link;EMPNO EMPNAME EMPSALARY---------------------------------------- ---------------------------------------- ----------E001 LYN 2300linux下查看数据SQL> select * from emp;EMPNO EMPNAME EMPSALARY-------------------- -------------------- ----------E001 LYN 2300。
转载请注明出处51数据库 » word怎样同步两个数据库