一、前言

​ 最近大家都在为《管理信息系统》综合实验和《课程设计》而忙碌,还需要准备11.30和12.11两场提前考。今天的文章主要是介绍课程设计的项目如何连接Oracle数据库。学以致用,我们只讲如何连接Oracle,其他的数据库如SQL Server、MySQL等等,请自行查阅百度相关内容。

二、引用文件

​ 百度上有好几种连接方法,在这里我先提一种方法作为参考,其他方法后续看情况进行更新。

​ 首先需要大家下载以下文件:(https://www.stucomspa.cn/usr/uploads/Recommend/Project/Dll_File.zip/)并解压。

​ 按照如下图一、二方法在资源管理器中引用刚刚下载的文件

图一

图二

三、引用命名空间

打开C#项目的代码界面,引用命名空间,输入以下代码

using Oracle.ManagedDataAccess.Client;

四、连接并测试Oracle数据库是否连接正常

//登录
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "" || textBox2.Text == "")
            {
                MessageBox.Show("用户名或密码不能为空!","提示");
            }
            else {
                OracleConnection conn = new OracleConnection(@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=端口)))(CONNECT_DATA=(SERVICE_NAME=SID)));User ID=KS_学号;Password=默认密码");
                try
                {
                    conn.Open();  //打开连接
                    OracleCommand com=conn.CreateCommand();
                    com.CommandText = "select username from adminuser where username="+"'"+textBox1.Text+"'";  //构建SQL语句
                    OracleDataReader odr = com.ExecuteReader();
                    if (odr.Read())
                    {
                        MessageBox.Show(odr.GetOracleString(0).ToString());
                    }
                    else
                        MessageBox.Show("用户不存在!");
                    odr.Close();  //关闭连接
                }
                catch {
                    MessageBox.Show("数据库连接失败!","提示");
                }
            }
            
        }

先来看这串代码:

OracleConnection conn = new OracleConnection(@"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP地址)(PORT=端口)))(CONNECT_DATA=(SERVICE_NAME=SID)));User ID=KS_学号;Password=默认密码");

其中HOST后填写服务器所在的IP地址,如果是在校园网环境下,可直接输入172.18.8.14,机房校园网环境输入125.221.90.14。这里默认连接的是我服务器上的Oracle数据库,其中IP:103.45.161.27,账号:KS_学号,密码:同《网络数据库》课程登录Oracle的初始密码。

PORT后填写Oracle数据库的端口,校园网环境下(无论是否在机房),请填写1521,我的服务器上的Oracle,请填写15210。另外在正常情况下,我的服务器上的Oracle可支持在非校园网环境连接。

SERVICE_NAME后填写SID,如果是《网络数据库》课程所用的服务器,请填写JXGL,我的服务器请填写Chaolei。

本端代码的作用是1、判断数据库是否连接成功;2、判断数据库中对应的表是否有该用户名。其他地方代码的书写大家可参考我写的代码。

五、其他

如果后续遇到问题,本文将持续更新。另外,对于gitlab有需求的组可以滴滴我。

最后修改:2020 年 11 月 23 日 01 : 45 PM
如果觉得我的文章对你有用,请随意赞赏~