본문 바로가기

C# 개인 공부 기록용/Memo

C# Oracle DB 연결

CREATE TABLE TEST_T(
test_t_idx NUMBER NOT NULL PRIMARY KEY,
test_t_name VARCHAR2(8),
test_t_age NUMBER,
tset_t_addr VARCHAR2(8)
);

CREATE SEQUENCE TEST_T_IDX

 

// [] 제거후 입력
String connstr = "data source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = [아이피주소])(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = [서비스이름])));USER ID=[아이디];PASSWORD=[비밀번호];";

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Oracle.DataAccess.Client; // 참조 - 참조 추가

namespace Oracle_DB_TEST
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                string connstr = "data source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = [아이피주소])(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = [서비스이름])));USER ID=[아이디];PASSWORD=[비밀번호];";
                OracleConnection conn = new OracleConnection(connstr);
                conn.Open();

                OracleCommand cmd = new OracleCommand();
                cmd.Connection = conn;

                cmd.CommandText = "INSERT INTO TEST_T VALUES(TEST_T_IDX.NEXTVAL, 'C#맨', 32, '서울')";
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch (Exception e)
            {
                Console.Write(e.ToString());
            }

        }
    }
}

 

 

ERROR

  • 프로젝트 - 속성 - 빌드 - 플랫폼 대상 - x64
  • 참조 - 참조 추가 - Oracle.DataAccess
  • C:\app\client\*******\product\12.1.0\client_1\NETWORK\ADMIN\tnsnames.ora
  • cmd - sqlplus 아이디/패스워드@서비스 이름