关闭

C#连接Oracle数据库(无须安装客户端,只须添加dll即可)

标签: 数据库oracleC#net
730人阅读 评论(0) 收藏 举报
分类:

前提:

  • 已安装Oracle数据库的服务器,无须Oracle客户端
  • 对Oracle数据库有一定的了解,至少已创建一个账户及密码
  • 安装VS,会使用C#创建简单的界面

正式步骤:

  1. 下载Oracle.ManagedDataAccess.dll[网上很多dll都已废弃,只有这个dll好用],链接:http://download.csdn.net/download/endlessseaofcrow/9986545
  2. 添加到C#引用。
  3. 命名空间 using Oracle.ManagedDataAccess.Client;
  4. 然后打开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的其他技术如有不懂,可以看我的其他相关博文。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5440次
    • 积分:239
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档