2. C#에서 오라클 프로시저 호출하기
현대 소프트웨어 개발에서는 다양한 데이터베이스 시스템과 프로그래밍 언어가 결합되어 사용됩니다. 특히 C#과 오라클 데이터베이스의 조합은 강력한 데이터 처리 및 비즈니스 로직 처리를 가능하게 합니다. 이 글에서는 C# 애플리케이션에서 오라클 프로시저를 호출하는 방법에 대해 단계별로 자세히 설명합니다.
1. 오라클 데이터베이스 설정
오라클 프로시저를 호출하기 전에 데이터베이스와의 연결을 설정해야 합니다. 여기에서는 오라클 Express Edition을 사용하여 데이터베이스를 설정하는 방법을 설명합니다.
- 오라클 웹사이트에서 Express Edition 다운로드 및 설치
- SQL Developer를 사용하여 데이터베이스에 연결
- 필요한 사용자 및 스키마 생성
2. 오라클 프로시저 생성
데이터베이스에 연결한 후, 호출할 프로시저를 생성합니다. 아래는 간단한 예제 프로시저로, 고객 정보를 관리하는 프로시저입니다.
CREATE OR REPLACE PROCEDURE AddCustomer (
p_Name IN VARCHAR2,
p_Age IN NUMBER
) AS
BEGIN
INSERT INTO Customers (Name, Age) VALUES (p_Name, p_Age);
END AddCustomer;
이 프로시저는 고객 이름과 나이를 입력받아 Customers 테이블에 추가합니다.
3. C# 프로젝트 설정
이제 C# 프로젝트를 설정하겠습니다. Visual Studio를 사용하여 새로운 C# 콘솔 애플리케이션을 생성합니다.
- Visual Studio를 열고, 새 프로젝트를 선택합니다.
- 콘솔 애플리케이션을 선택하고, 프로젝트 이름을 입력합니다.
- 프로젝트가 생성되면, NuGet 패키지 관리자를 사용하여 ‘Oracle.ManagedDataAccess’ 패키지를 설치합니다.
4. 오라클 연결 문자열 설정
프로시저를 호출하기 위해 필요한 연결 문자열을 설정합니다. ‘app.config’ 파일에 다음과 같이 입력합니다.
위 연결 문자열은 오라클 데이터베이스에 접속하기 위한 사용자 ID, 비밀번호, 데이터 소스를 포함합니다.
5. C# 코드 작성
이제 프로시저를 호출할 C# 코드를 작성합니다. 아래는 오라클 프로시저를 호출하는 예제 코드입니다.
using System;
using System.Data;
using Oracle.ManagedDataAccess.Client;
namespace OracleProcedureCall
{
class Program
{
static void Main(string[] args)
{
// 연결 문자열 가져오기
string connString = System.Configuration.ConfigurationManager.ConnectionStrings["OracleDB"].ConnectionString;
// 데이터베이스 연결
using (OracleConnection conn = new OracleConnection(connString))
{
conn.Open();
Console.WriteLine("Oracle Database Connected!");
// 오라클 커맨트 객체 생성
using (OracleCommand cmd = new OracleCommand("AddCustomer", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
// 파라미터 추가
cmd.Parameters.Add("p_Name", OracleDbType.Varchar2).Value = "John Doe";
cmd.Parameters.Add("p_Age", OracleDbType.Int32).Value = 30;
// 프로시저 호출
cmd.ExecuteNonQuery();
Console.WriteLine("Customer added successfully!");
}
}
}
}
}
위 코드는 오라클 데이터베이스에 연결하고, AddCustomer 프로시저를 호출합니다. 필요한 매개변수를 추가한 후 ExecuteNonQuery()
메서드를 사용하여 프로시저를 실행합니다.
6. 예외 처리와 리소스 정리
프로시저 호출 과정에서 문제가 발생할 수 있으므로, 예외 처리를 추가하는 것이 중요합니다. 아래는 연결 및 프로시저 호출 시 예외를 처리하는 방법의 예입니다.
try
{
using (OracleConnection conn = new OracleConnection(connString))
{
conn.Open();
Console.WriteLine("Oracle Database Connected!");
using (OracleCommand cmd = new OracleCommand("AddCustomer", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("p_Name", OracleDbType.Varchar2).Value = "John Doe";
cmd.Parameters.Add("p_Age", OracleDbType.Int32).Value = 30;
cmd.ExecuteNonQuery();
Console.WriteLine("Customer added successfully!");
}
}
}
catch (OracleException ex)
{
Console.WriteLine("Oracle error: " + ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("General error: " + ex.Message);
}
finally
{
// 리소스 정리 코드
}
7. 결론
이 글에서는 C# 애플리케이션에서 오라클 프로시저를 호출하는 방법을 단계별로 살펴보았습니다. 오라클 데이터베이스에 연결하고, 필요한 프로시저를 생성한 후 C# 코드를 통해 프로시저를 호출하는 과정은 매우 직관적이었습니다. 데이터베이스와의 원활한 통신을 위한 연결 문자열 설정, 프로시저 호출, 예외 처리 등을 통해 안정적인 애플리케이션을 개발할 수 있습니다.
다양한 비즈니스 요구사항을 충족하기 위해 C#과 오라클의 강력한 조합을 활용하여 데이터를 효과적으로 관리하고 처리하는 방법을 마스터해보세요.