將sqlserver中數據導入到oracle數據中

 以下貼出部分代碼:C#

需要引用

using System.Data.OracleClient;
using System.Data.SqlClient;

 

private void button3_Click(object sender, EventArgs e)       //將sqlserver中數據導入到oracle數據中
        {
            button3.Enabled = false;                               //防止多次點擊
            int temp=0;                                            //用於判斷插入是否成功
            string sqlstr;                                         //接收插入語句
            DataTable dt = new DataTable();
            string sql = "select * from dictionary";             // oracle中已存在的數據表
            Sqldataload sqldata = new Sqldataload();       //自定義類
            dt = sqldata.ORselect(sql);
            string[] col = new string[3];                     //用於接收沒一行中的數據
            if (dt.Rows.Count > 0)                
            {
                for (int i = 0; i < dt.Rows.Count; i++)         //循環每一行
                {
                    for (int j = 0; j < dt.Columns.Count; j++)     //循環每一列
                    {
                        col[j] = dt.Rows[i][j].ToString();       
                    }
                    sqlstr = "Insert into Tdictionary(EnField,ChField,Method) values(" + StrTo(col[0]) + "," + StrTo(col[1]) + "," + StrTo(col[2]) + ")";
                    Dataconn ORconn = new Dataconn();
                    temp = ORconn.ORUpdate(sqlstr);            //將數據插入到oracle數據中
                }
            }
            button3.Enabled = true;
            if (temp!=-1) MessageBox.Show("轉換成功!!");   
            else
                MessageBox.Show("轉換失敗!!");
        }

  public string StrTo(string str)
        {
            str = "'" + str + "'";
            return str;
        }

 

自定義類:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OracleClient;
using System.Data;


namespace ExceltoOracleTable
{
    class Dataconn
    {
        public Dataconn()
        {
        }
        public   string ConnectionString = "Data Source=telecom;Persist Security Info=True;User ID=qiao;Password=qiao;Unicode=True";   //寫連接串
         public DataTable  ORselect(string str)
        {
            DataTable dt = new DataTable();
            OracleConnection conn = new OracleConnection();
           
             conn.ConnectionString = ConnectionString;
            OracleDataAdapter adapter = new OracleDataAdapter(str, conn);
            try
            {
                conn.Open();
                adapter.Fill(dt);
            }
            catch (OracleException ee)
            {

            }
            finally
            {
                conn.Close(); //關閉連接
            }
            return dt;
        }
         public int ORUpdate(string SQLstr)
         {
             OracleConnection conn = new OracleConnection();
             conn.ConnectionString = ConnectionString;
             OracleCommand command = new OracleCommand(SQLstr, conn);
             try
             {
                 conn.Open();
                 return command.ExecuteNonQuery();         //返回操作行數
             }
             catch (OracleException ee)
             {
                 return -1;                //操作失敗  
             }
             finally
             {
                 conn.Close(); //關閉連接
             }

         }
         public DataSet ORSelect2(string str)
         {
             OracleConnection conn = new OracleConnection();
             conn.ConnectionString = ConnectionString;
             OracleDataAdapter adapter = new OracleDataAdapter(str, conn);
             DataSet DS = new DataSet();
             try
             {
                 conn.Open();
                 adapter.Fill(DS );
             }
             catch (OracleException ee)
             {
                
                // messagebox.show("連接失敗!!!");
             }
             finally
             {
                 conn.Close(); //關閉連接
             }
             return DS;
         }
      
    }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章