淘先锋技术网

首页 1 2 3 4 5 6 7
在.NET Core开发中,如何连接Oracle数据库是一个需要解决的问题。Oracle数据库是一种功能强大的数据库系统,特别是在企业级应用中被广泛使用。本文将为大家介绍.NET Core与Oracle之间的连接方式,同时提供代码示例,以便更好地理解。 首先我们需要准备Oracle数据库、ODP.NET和.NET Core项目。ODP.NET(Oracle Data Provider for .NET)是一个Oracle官方支持的数据提供程序,用于.NET平台和Oracle数据库之间的通信。我们需要安装ODP.NET NuGet包,以便能够在.NET Core项目中使用ODP.NET。 连接Oracle的代码示例:
using Oracle.ManagedDataAccess.Client;
using System;
namespace OracleCoreSample
{
class Program
{
static void Main(string[] args)
{
try
{
string connString = "Data Source=ORACLEHOST:1521/ORACLEDB;User Id=USERNAME;Password=PASSWORD;";
OracleConnection conn = new OracleConnection(connString);
conn.Open();
Console.WriteLine("Oracle Version: " + conn.ServerVersion);
conn.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
上面的代码示例演示了如何连接Oracle数据库。其中的“Data Source”指定了Oracle数据库的主机名和端口号,“User Id”和“Password”指定了数据库的用户名和密码,通过OracleConnection类的Open方法连接数据库。连接成功后,可以通过ServerVersion属性获取数据库的版本信息。 在.NET Core中,使用ODP.NET提供的OracleDataReader类可以读取查询结果:
try
{
string connString = "Data Source=ORACLEHOST:1521/ORACLEDB;User Id=USERNAME;Password=PASSWORD;";
OracleConnection conn = new OracleConnection(connString);
conn.Open();
string sql = "SELECT ID, NAME, AGE FROM EMPLOYEE";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("ID:{0}, NAME:{1}, AGE:{2}", reader["ID"], reader["NAME"], reader["AGE"]);
}
conn.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
以上示例代码使用了OracleCommand对象执行一个SQL查询,并用OracleDataReader对象读取查询结果。在while循环中,逐行输出查询结果。 另一个关键点是Oracle数据库中的存储过程和函数。Oracle的存储过程和函数在应用程序中发挥了重要的作用。如果我们需要在.NET Core应用程序中调用Oracle存储过程和函数,可以使用以下代码示例:
try
{
string connString = "Data Source=ORACLEHOST:1521/ORACLEDB;User Id=USERNAME;Password=PASSWORD;";
OracleConnection conn = new OracleConnection(connString);
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "EMPLOYEE_PKG.GET_AGE_BY_ID";
cmd.CommandType = System.Data.CommandType.StoredProcedure;
OracleParameter inputParameter = new OracleParameter("EMPLOYEE_ID", OracleDbType.Int32);
inputParameter.Value = 1;
cmd.Parameters.Add(inputParameter);
OracleParameter outputParameter = new OracleParameter();
outputParameter.ParameterName = "EMPLOYEE_AGE";
outputParameter.DbType = System.Data.DbType.Int32;
outputParameter.Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(outputParameter);
cmd.ExecuteNonQuery();
Console.WriteLine("Employee age: " + outputParameter.Value);
conn.Close();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
以上示例代码演示了如何从.NET Core应用程序中调用Oracle存储过程。在命令对象中设置CommandType属性,将其设置为StoredProcedure。可以看到,在此代码示例中,我们在OracleCommand对象中不仅设置了输入参数,并且还设置了输出参数。执行ExecuteNonQuery方法可以执行存储过程并返回结果。 总之,在.NET Core应用程序中连接Oracle数据库是一个非常重要的话题。在本文中,我们通过示例代码演示了如何使用ODP.NET连接Oracle数据库,并在应用程序中执行SQL查询和存储过程。我们相信本文可以帮助开发者更好地理解.NET Core与Oracle之间的连接方式。