当前位置:编程学习 > C#/ASP.NET >>

将oracle数据库中数据导入sql2000

使用oracle9i远程连接客户oracle服务器,由于数据太多了,要将表A中近一天数据导到我本地数据库,我本地用的是sql2000,大家帮帮忙啊,最好有源码 --------------------编程问答-------------------- 写个小程序导入呗......... --------------------编程问答-------------------- oracle-->dataset-->mssql2000
过程就是这样 --------------------编程问答-------------------- 和增删改过程差不多啊 --------------------编程问答-------------------- 代码啊代码,不要手动导入 --------------------编程问答-------------------- 给你个函数你改改,从oracle或mssql获取数据集dataset

/// <summary>
    /// 获取dataset
/// </summary>
/// <param name="sql">sql</param>
/// <param name="flag">数据库类型标识</param>
/// <returns>数据集</returns>
   
    public static DataSet getDataSetBySQL(string sql,string flag)  
    {
       if(flag=="SQL")
         {
             String strConn = ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString;
           DataSet ds = new DataSet();
           string strSelect = sql;
          try
          {
            SqlConnection Conn = new SqlConnection(strConn);
            SqlDataAdapter Adapter = new SqlDataAdapter (strSelect, Conn);
            // Adapter.Fill(ds, "T_Function");
            Adapter.Fill(ds);
            return ds;
           }
          catch
          {

            return (ds=null);
          }
        }
        else
        {
            String strConn = System.Configuration.ConfigurationManager.AppSettings["ConnStrOrcl"];
            DataSet ds = new DataSet();
            string strSelect = sql;
            try
            {
                OracleConnection Conn = new OracleConnection(strConn);
                OracleDataAdapter Adapter = new OracleDataAdapter(strSelect, Conn);
                // Adapter.Fill(ds, "T_Function");
                Adapter.Fill(ds);
                return ds;
            }
            catch
            {

                return null;
            }
        }
    }
--------------------编程问答-------------------- 向oracle数据库或者ms数据库插入数据的函数

/// <summary>
    /// 带事务的批量操作数据。
    /// </summary>
    /// <param name="sqlInsert">SQL</param>
    /// <returns>操作是否成功</returns>
    public static bool OperateDatasWithTransaction(List<string> sqlList,string flag)
    {
       if(flag=="SQL")
       {
        SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
        myConnection.Open();
        SqlCommand myCommand = myConnection.CreateCommand();
        SqlTransaction myTrans;
        // Start a local transaction
        myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
        // Assign transaction object for a pending local transaction
        myCommand.Connection = myConnection;
        myCommand.Transaction = myTrans;
        try
        {
            foreach (string item in sqlList)
            {
                myCommand.CommandText = item;
                myCommand.ExecuteNonQuery();
            }
            myTrans.Commit();
            return true;
        }
        catch (Exception)
        {
            myTrans.Rollback();
            return false;
        }
        finally
        {
            myConnection.Close();
        }
      }
        else
       {
           OracleConnection myConnection = new OracleConnection(System.Configuration.ConfigurationManager.AppSettings["ConnStrOrcl"]);
           myConnection.Open();
           OracleCommand myCommand = myConnection.CreateCommand();
           OracleTransaction myTrans;
           // Start a local transaction
           myTrans = myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
           // Assign transaction object for a pending local transaction
           myCommand.Connection = myConnection;
           myCommand.Transaction = myTrans;
           try
           {
               foreach (string item in sqlList)
               {
                   myCommand.CommandText = item;
                   myCommand.ExecuteNonQuery();
               }
               myTrans.Commit();
               return true;
           }
           catch (Exception)
           {
               myTrans.Rollback();
               return false;
           }
           finally
           {
               myConnection.Close();
           }
       }

    }
--------------------编程问答-------------------- 这个就是插数据了,小例子

private bool input(System.Data.DataTable dt, SqlConnection conn, bool success,string flag)
        {
            if (dt != null)
            {
                try
                {

                    conn.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    List<string> L = new List<string>();


                    if (flag == "Budget")
                    {
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            if (dt.Rows[i].ItemArray[0].ToString() != "")
                            {
                                string s = "insert into [Budget] values('" + dt.Rows[i].ItemArray[0] + "','" + dt.Rows[i].ItemArray[1] + "','" + dt.Rows[i].ItemArray[2] + "','" + dt.Rows[i].ItemArray[3] + "')";
                                //  OleDbCommand cmd = new OleDbCommand( s,conn);
                                L.Add(s);
                            }
                        }
                    }
                    else
                    {
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            if (dt.Rows[i].ItemArray[0].ToString() != "")
                            {
                                string s = "insert into [Budget_Detail] values('" + dt.Rows[i].ItemArray[0] + "','" + dt.Rows[i].ItemArray[1] + "','" + dt.Rows[i].ItemArray[2] + "','" + dt.Rows[i].ItemArray[3] + "','" + dt.Rows[i].ItemArray[4] + "','" + dt.Rows[i].ItemArray[5] + "','" + dt.Rows[i].ItemArray[6] + "','" + dt.Rows[i].ItemArray[9] + "')";
                                //  OleDbCommand cmd = new OleDbCommand( s,conn);
                                L.Add(s);
                            }
                        }
                    }

                    if (!OperateDatasWithTransaction(L,"SQL"))
                    {
                        success = false;
                    }

                }
                catch (Exception eer)
                {
                    MessageBox.Show(eer.ToString());
                    success = false;
                    conn.Close();
                }
                if (success)
                {
                    label1.Text = "导入成功";
                    if (flag == "Budget")
                        MessageBox.Show("预算资金总账导入成功!", "信息提示");
                    else
                        MessageBox.Show("预算资金明细导入成功!", "信息提示");

                }
                else
                {
                    label1.Text = "导入失败";
                    if (flag == "Budget")
                        MessageBox.Show("预算资金总账导入失败!", "信息提示");
                    else
                        MessageBox.Show("预算资金明细导入失败!", "信息提示");
                }
            }
            return success;
        }
--------------------编程问答--------------------
mark
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,