將sqlserver中資料匯入到oracle資料中

來源:互聯網
上載者:User

 以下貼出部分代碼: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;
         }
      
    }
    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.