使用工具 Visual Studio 2019,编写的是控制台应用程序,如果是其他程序(ASP.NET)都是可以的哈。
 

在oracle安装目录下找到Oracle.Dataaccess.dll 添加引用:

using Oracle.DataAccess.Client;

添加引用dll文件

例如:

D:\app\oracle\product\11.2.0\dbhome_1\ODE.NET\bin\2.x(客户端)

D:\app\oracle\product\11.2.0\dbhome_1\ODP.NET\bin\2.x(服务器)

悠悠做神仙此处参考悠悠做神仙

首先连接数据库应该有相应的 ConnectionString连接池值的有效名称

属性名称中文释义样例值
Data Source数据源"Data Source=(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)(SID=ORCLSID)));"
User Id用户ID"User Id=scott;"
Password密码"Password=tiger;"

详细说明:

  1. Data Source指定Oracle服务器的地址和端口号,以及服务名称。
  2. host: 指定连接的ip地址,若是本地数据库,192.168.1.100换成localhost即可。
  3. Port: 指定端口号,默认1521即可。
  4. SERVICE_NAME: 为全局数据库名称
  5. SDI: 为Oracle 服务标识符

除了用户名和密码以外,ip地址没错的话,我认为最重要的就是SID和SERVICE_NAME

它们在安装的时候你便会设置

比如我使用本地的hr用户查询EMPLOYEES表的员工个数为例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.DataAccess.Client;
namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            string user = "hr";
            string password = "hr";
            string dataSource = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=db11g01)(SID=DB11GSID)))";

            string connString = $"User Id={user};Password={password};Data Source={dataSource}";

            using (OracleConnection conn = new OracleConnection(connString))
            {
                try
                {
                    conn.Open();
                    Console.WriteLine("Connection established successfully.");

                    string query = "SELECT COUNT(*) FROM EMPLOYEES";

                    using (OracleCommand cmd = new OracleCommand(query, conn))
                    {
                        int employeeCount = Convert.ToInt32(cmd.ExecuteScalar());
                        Console.WriteLine("Total number of employees: " + employeeCount);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("An error occurred: " + ex.Message);
                }
                Console.ReadKey();
            }
        }
    }
}

输出结果为

和我sql plus查询是一致的

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐