1. 程式人生 > >C# datagridview 連線伺服器oracle資料庫

C# datagridview 連線伺服器oracle資料庫

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;
using System.Data.SqlClient;

namespace TEST
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //string connstring = "Data Source=ouc131;user=ouc;password=letu;";//如果本地有oracle客戶端的話,用這種連線
            string connstring = "User Id=ouc;Password=letu;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=222.195.*.*)(PORT=1523))(CONNECT_DATA=(SID=ouc)));Unicode=True;";

            OracleConnection conn = new OracleConnection(connstring);
            try
            {
                conn.Open();
                OracleDataAdapter AdapterSelect = new OracleDataAdapter("select * from text", conn);
                DataTable dt = new DataTable();
                AdapterSelect.Fill(dt);
                dataGridView1.DataSource = dt.DefaultView;                
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
            finally
            {
                conn.Close();
            }
        }
    }
}

(或者如果你本機安裝個oracle客戶端, 可以在oracle客戶端資料夾搜尋下*oci*.dll(oci是oracle call interface)檔案, 搜尋的全部dll複製到你的exe資料夾中, 網上常的複製dll就是這幾個dll吧)

2.連結字串要寫成(可以寫到配置檔案中的, 就是要寫直實的地址, 埠,例項,使用者名稱,密碼)

private static string CONNECTION_STRING =
"User Id=myUserID;Password=myPassword;Data Source=(DESCRIPTION=" +
"(ADDRESS=(PROTOCOL=TCP)(HOST=myserver.server.com)(PORT=yourPort#))"
+ "(CONNECT_DATA=(SID=yourSID)));";

這樣就不用去讀取安裝客戶端的tnsnames.ora中配置了

注意: 在程式設計, 要把剛上面的dll放到你的debug或release目錄下, 就是與exe檔案同目錄, 不然找不到檔案, 各種出錯.