C#連接Oracle數據庫(無須安裝客戶端,只須添加dll即可)
出處: http://blog.csdn.net/endlessseaofcrow/article/details/78037616
前提:
- 已安裝Oracle數據庫的服務器,無須Oracle客戶端
- 對Oracle數據庫有一定的了解,至少已創建一個賬戶及密碼
- 安裝VS,會使用C#創建簡單的界面
正式步驟:
- 下載Oracle.ManagedDataAccess.dll[網上很多dll都已廢棄,只有這個dll好用],鏈接:http://download.csdn.net/download/endlessseaofcrow/9986545
- 添加到C#引用。
- 命名空間 using Oracle.ManagedDataAccess.Client;
- 然后打開Oracle安裝的文件夾,以Oracle10為例D:\Oracle10\NETWORK\ADMIN\tnsnames.ora,打開這個文件,會看到
,如果沒有請按照圖片內容輸入即可,host=[主機名稱],SERVICE_NAME=[隨意取]
5.完成上述后,連接字符串:strConnection = “Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=LocalHost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User ID=XXXX;Password=XXXX;”;簡單說明一下這個連接字符串,HOST=LostHost|127.0.0.1|主機名三者均可,選擇一個就行;SERVICE_NAME=[即你剛才在tnsnames中取得名字];然后在輸入你的Oracle賬戶名密碼即可
6.測試代碼:
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 Oracle.ManagedDataAccess.Client;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
string strConnection =@ "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=XXX)));Persist Security Info=True;User ID=XXX;Password=XXX;";//以上為一行,顯示為三行
public Form1()
{
InitializeComponent();
connectTest();
}
public void connectTest()
{
try
{
string str_sql = "SELECT * FROM XXX";
OracleConnection conn = new OracleConnection(strConnection);
OracleCommand cmd1 = new OracleCommand(str_sql, conn);
conn.Open();
MessageBox.Show("連接成功!");
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
MessageBox.Show("READSQL");
}
}
}
}
7.至此已經完成連接數據庫,其中涉及到了C#/.net的其他技術如有不懂,可以看我的其他相關博文。