1.该方法 基本不能用于实际开发中 ,仅供学习参考 
public string Copy()
{
//要复制的表名
string table = "AAAAA";
//构造连接字符串
OracleConnectionStringBuilder builder1 = new OracleConnectionStringBuilder();
builder1.ConnectionString = "Data Source=192.168.0.141/orcl;User ID=MY_TP_ECDB;Password=MY_TP_ECDB;Unicode=true"; OracleConnectionStringBuilder builder2 = new OracleConnectionStringBuilder();
builder2.ConnectionString = "Data Source=192.168.0.141/orcl;User ID=BZECDB;Password=BZECDB;Unicode=true"; //调用复制数据库函数
InsertTable(builder1.ConnectionString, builder2.ConnectionString, table); return default(string);
}
       /// <summary>
/// 将巴中商城拷贝到绵阳
/// </summary>
private static void InsertTable(string conString1, string conString2, string tabStr)
{
OracleConnection connMY = new OracleConnection();
//connMY.ConnectionString = "Data Source=192.168.0.141/orcl;User ID=MY_TP_ECDB;Password=MY_TP_ECDB;Unicode=true";
connMY.ConnectionString = conString1;
connMY.Open(); OracleConnection connBZ = new OracleConnection();
connBZ.ConnectionString = conString2;
connBZ.Open(); //将巴中数据库拷贝到绵阳,那么先读出绵阳原来的数据保存在dataSet1中
OracleDataAdapter adapter1 = new OracleDataAdapter("select * from " + tabStr , connMY);
DataSet dataSet1 = new DataSet(); if (dataSet1 != null)
{
adapter1.Fill(dataSet1, tabStr);
}
OracleDataAdapter adapter2 = new OracleDataAdapter("select * from " + tabStr , connBZ);
DataSet dataSet2 = new DataSet();//巴中数据 OracleCommand cmd2 = new OracleCommand("select count(*) from " + tabStr, connBZ);
Object res2 = cmd2.ExecuteScalar(); if (res2 != null)
{
int nCount = Convert.ToInt32(res2.ToString());
if (nCount == )
{
connBZ.Close();
connMY.Close();
return;
}
}
//填充DataSet2 巴中的数据
if (dataSet2 != null)
{
adapter2.Fill(dataSet2, tabStr);
}
//复制数据
for (int j = ; j < dataSet2.Tables[].Rows.Count; j++)
{
dataSet1.Tables[].LoadDataRow(dataSet2.Tables[].Rows[j].ItemArray, false);
}
//将DataSet变换显示在与其关联的目标数据库
OracleCommandBuilder cb = new OracleCommandBuilder(adapter1);
adapter1.Update(dataSet1, tabStr);
cb.RefreshSchema();
Console.WriteLine("表" + tabStr + "复制成功!");
connBZ.Close();
connMY.Close();
}

2.巴中数据库同步到绵阳.rar  该项目为实际开发时的源码,因两地数据库不对外开发,Dblink 不能使用. 我的思路是巴中放一个windowsService

绵阳放一个webservice,巴中数据库相关表

建立触发器 对表的增删改 都记录在一张表中City_cfjlb(触发记录表),windowsService根据这张表的数据调用webservice 并将数据传递到绵阳.绵阳数据库也需另建立一张表,保存表名称,巴中对应表id ,绵阳对应表id

相关触发器代码 如下:

基于Oracle触发器 存储过程

3,如果量数据库可以创建DBlink: 那就简单了:

Oracle两个数据库联合查询,使用Oracle DBLink

4.数据库创建主从关系:博主还未用到过次解决方案~~~

C#拷贝一个库的表到另外一个库中(的四种方式)的更多相关文章

  1. eclipse查看一个方法被谁引用(调用)的快捷键四种方式

    1.(首推)双击选中该方法,Ctrl+Alt+H 如果你想知道一个类的方法到底被那些其他的类调用,那么请选中这个方法名,然后按“Ctrl+Alt+H”, Eclipse就会显示出这个方法被哪些方法调用 ...

  2. Hive创建表|数据的导入|数据导出的几种方式

    * Hive创建表的三种方式 1.使用create命令创建一个新表 例如:create table if not exists db_web_data.track_log(字段) partitione ...

  3. JavaScript表单提交四种方式

    总结JavaScript表单提交四种方式 <!DOCTYPE html> <html> <head> <title>JavaScript表单提交四种方式 ...

  4. JavaScript确定一个字符串是否包含在另一个字符串中的四种方法

    一.indexOf() 1.定义 indexOf()方法返回String对象第一次出现指定字符串的索引,若未找到指定值,返回-1.(数组同一个概念) 2.语法 str.indexOf(searchVa ...

  5. java 四种方式实现字符流文件的拷贝对比

    将D:\\应用软件\\vm.exe  拷贝到C:\\vm.exe   四种方法耗费时间对比  4>2>3>1 package Copy; import java.io.Buffere ...

  6. 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝

    第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...

  7. 四种方式带你层层递进解剖算法---hash表不一定适合寻找重复数据

    一.题目描述 找出数组中重复的数字 > 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次. ...

  8. python操作mysql数据库读取一个数据库的表写入另一个数据库

    写这个肯定是工作需要了,不啰嗦,直接说事 我现在有两台主机,一台是公司主机,一台是客户主机,要求把公司主机上的三个表同步到客户主机上的数据库 注意是同步,首先就得考虑用linux定时任务或者主从复制, ...

  9. C# MVC提交表单的四种方式(转)

    Mvc 提交表单的4种方法全程详解(转) 一,MVC  HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttribu ...

随机推荐

  1. loadrunner---Android、iOS压力测试

    链接来源:http://www.cnblogs.com/ydnice/p/5790848.html 一.LoadRunner简介 LoadRunner,是惠普公司研发的一款预测系统行为和性能的负载测试 ...

  2. 【Spring框架】<mvc:default-servlet-handler/>的作用

    优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...

  3. MHA-Atlas-MySQL高可用集群2

    MHA脚本管理方式 (1)获取管理脚本master_ip_failover 提示:yum安装的manager是没有这个脚本的. 我们需要从manager的源码包里复制一个.   [root@mysql ...

  4. Eclipse导入已有的项目后项目报错的解决办法

    第一种:jsp报错 选择windows-->preference-->列表找到Validation-->点击Disable All ->> Apply ->> ...

  5. 简述osi七层模型和TCP/IP五层模型

    OSI七层模型 OSI七层模型的划分 应用层(Application).表示层(presentation).会话层(session).传输层(Transport).网络层(Network).数据链路层 ...

  6. IS基础(函数片)

    函数基本介绍 为什么需要函数 之所以需要函数,是因为函数可以实现对代码的复用.相同的代码,我们不需要再重复书写,只需要书写一次就足够了.函数有些时候可以看做是一个暗箱.我们不需要知道函数内部是怎么实现 ...

  7. JavaScript作用域(第七天)

    我们都知道js代码是由自上而下的执行,但我们来看看下面的代码: test(); function test(){ console.log("hello world"); }; 如果 ...

  8. 学习笔记TF054:TFLearn、Keras

    元框架(metaframework). TFLearn.模块化深度学习框架,更高级API,快速实验,完全透明兼容. TFLearn实现AlexNet.https://github.com/tflear ...

  9. 第五章Bookstrap

    响应式原理: @media screen and (min-width:300px) and (max-width:500px) { /* CSS 代码 */ } #代表页面宽度大于300px和小雨5 ...

  10. Spark源码系列:RDD repartition、coalesce 对比

    在上一篇文章中 Spark源码系列:DataFrame repartition.coalesce 对比 对DataFrame的repartition.coalesce进行了对比,在这篇文章中,将会对R ...