丶张天师 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条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?