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的其他技术如有不懂,可以看我的其他相关博文。