丶张天师 2017-01-10 08:15 采纳率: 66.7%
浏览 2883
已采纳

使用程序把一个表里的数据导入到另一个数据库的表里

问题:
把原数据库(Sql Server)里的一个表里的数据,导入到Oracle中,但是在sql server是一张表,现在在Oracle里把它拆成了两个表(关联表),该怎么导数据啊??

解决方案:(C#)
1.使用企业库。
2.web.config里面配置两个链接字符串,一个SQL的,一个Oracle的。
3.使用sql的字符串 创建一个Database db;
4.使用db把数据拿出来,放在DS里面
5.使用Oracle的创建一个Database dboracle
6.for循环 一行一行的读取db的数据
{
使用dboracle 执行insert语句,吧读取出来的db的行给入到Oracle里面去
}

////////求Demo????求Demo????

  • 写回答

3条回答 默认 最新

  • j02842257 2017-01-10 09:30
    关注

    SqlConnection SQL_Conn = new SqlConnection("SQLServer数据库连接字符串");
    SqlDataAdapter SQL_Dap = new SqlDataAdapter("select 列名1,列名2... from SQL表名", SQL_Conn);
    DataSet SQL_ds = new DataSet();
    SQL_Dap.Fill(SQL_ds, "SQL表名称");

            OracleConnection Ora_Conn = new OracleConnection("Oracle数据库连接字符串");
            OracleDataAdapter Ora_Dap = new OracleDataAdapter("select 列名1,列名2... from 表名1", Ora_Conn);
            DataSet Ora_da = new DataSet();
            Ora_Dap.Fill(Ora_da, "表1");
    
    
    
            Ora_Dap.InsertCommand = Ora_Conn.CreateCommand();
            Ora_Dap.InsertCommand.CommandText = "insert into  表名1 (列名1,列名2...) values(@列名1变量,@列名2变量...)";
    
    
            OracleParameter par;
            par = Ora_Dap.InsertCommand.Parameters.Add("@列名1变量", OracleType.VarChar, 255);
            // 必须设置源列名(SQL表名称中的列名)
            par.SourceColumn = "列名1";
            par.SourceVersion = DataRowVersion.Current;
    
            par = Ora_Dap.InsertCommand.Parameters.Add("@列名2变量", OracleType.VarChar, 255);
            // 必须设置源列名(SQL表名称中的列名)
            par.SourceColumn = "列名2";
            par.SourceVersion = DataRowVersion.Current;
    
    
            for (int i = 0; i < SQL_ds.Tables["SQL表名称"].Rows.Count; i++)
            {
                Ora_da.Tables["表1"].Rows.Add(new string[] { SQL_ds.Tables["SQL表名称"].Rows[i][0].ToString(), SQL_ds.Tables["SQL表名称"].Rows[i][1].ToString() });
            }
    
            // 使用适配器的更新命令,将内存中的表更新至数据库
            Ora_Dap.Update(Ora_da);
    
            // 更新第二章表类似
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档