Common C#/C# GDI+ Study2008. 6. 9. 16:09
using System;
using System.Collections.Generic;
using System.Text;

namespace ICS.Core.Controls
{
    #region IControlBase
    /// <summary>
    /// 컨트롤의 공통 기능을 정의한다.
    /// </summary>
    public interface IControlBase
    {
        /// <summary>
        /// 필수 입력 여부를 가져오거나 설정한다.
        /// </summary>
        bool Mandatory
        {
            get;
            set;
        }

        /// <summary>
        /// 입력할 수 있는 문자열의 최대 길이를 설정한다. 영문은 1Byte, 한글은 2Byte로 계산된다.
        /// </summary>
        int MaxStringLength
        {
            get;
            set;
        }
    }
    #endregion

    #region BindingType - 컨트롤 바인딩 방법 정의
    /// <summary>
    /// 컨트롤의 바인딩 방법을 정의합니다.
    /// </summary>
    public enum BindingType
    {
        /// <summary>
        /// 바인딩을 하지 않습니다.
        /// </summary>
        None,
        /// <summary>
        /// 컨트롤이 활성 상태가 되었을 경우 바인딩합니다.
        /// </summary>
        Enter,
        /// <summary>
        /// DropDown 이벤트 발생시 바인딩합니다.
        /// </summary>
        DropDown,
        /// <summary>
        /// 폼 로드시 바인딩합니다.
        /// </summary>
        FormLoad
    }
    #endregion
    #region InputFormat - 입력 형식 정의
    /// <summary>
    /// 입력 형식을 정의합니다.
    /// </summary>
    public enum InputFormat
    {
        /// <summary>
        /// 모든 입력값을 받습니다.
        /// </summary>
        All,
        /// <summary>
        /// 영문만 입력할 수 있습니다.
        /// </summary>
        EnglishOnly,
        /// <summary>
        /// 한글만 입력할 수 있습니다.
        /// </summary>
        KoreanOnly
    }
    #endregion
    #region PanelType - Panel Type 정의
    /// <summary>
    /// Display 형태를 정의합니다.
    /// </summary>
    public enum PanelType
    {
        /// <summary>
        /// 표시하지 않습니다.
        /// </summary>
        None,
        /// <summary>
        /// 기본 모양으로 설정합니다.
        /// </summary>
        Standard,
        /// <summary>
        /// 상세 정보 모양으로 설정합니다.
        /// </summary>
        Detail,
        /// <summary>
        /// 필수 정보 모양으로 설정합니다.
        /// </summary>
        Mandatory,
        /// <summary>
        /// 조회 조건 모양으로 설정합니다.
        /// </summary>
        Search
    }
    #endregion
    #region ListBoxType - List Box Type 정의
    /// <summary>
    /// Display 형태를 정의합니다.
    /// </summary>
    public enum ListBoxType
    {
        /// <summary>
        ///
        /// </summary>
        None,
        /// <summary>
        ///
        /// </summary>
        Standard,
        /// <summary>
        ///
        /// </summary>
        Logging
    }
    #endregion
    #region TabType - Tab Type 정의
    /// <summary>
    /// Tab Type을 정의합니다.
    /// </summary>
    public enum TabType
    {
        /// <summary>
        ///
        /// </summary>
        None,
        /// <summary>
        ///
        /// </summary>
        Standard,
        /// <summary>
        ///
        /// </summary>
        Detail
    }
    #endregion
    #region Skin Color - Main Menu Skin Color 정의
    /// <summary>
    /// Main Menu의 Skin Color를 정의합니다.
    /// </summary>
    public enum SkinColor
    {
        /// <summary>
        ///
        /// </summary>
        Whites,
        /// <summary>
        ///
        /// </summary>
        Blues,
        /// <summary>
        ///
        /// </summary>
        Reds,
        /// <summary>
        ///
        /// </summary>
        Greens
    }
    #endregion

Posted by penguindori

안녕하세요. DB 연동이 잘 안되서 이렇게 지식인에 물어봅니다.

11g 입니다. 참고로 ^^;


tnsnames.ora


DBDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracletest.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = DBDB)
      (SERVER = DEDICATED)
     
    )
  )


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracletest.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

--------------------

listener.ora


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracletest.com)(PORT = 1521))
    )
  )


프로그램 실행시 이런 에러가 발생 합니다.

사용자 삽입 이미지

프로그램 소스 입니다.


private string connectionString = "Data Source=oracletest.com;Integrated Security=yes;pwd=1212;uid=okok";


  private void Form1_Load(object sender, EventArgs e)
        {
         
            using (OracleConnection connection = new OracleConnection(connectionString))
            {
                try
                {
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = connection;
                    connection.Open();
                    MessageBox.Show("이상없음");
                }
                catch (Exception k)
                {
                    MessageBox.Show(k.Message.ToString());
                }
            }
        }


위의 내용중 잘못된 부분을좀 알려주시거나 혹 의심이 가는 부분이 있다면 많은 답변 부탁드리겠습니다.

(__)(^^)


수집허용 | 아이디비공개

의견 쓰기

sewooim님의 지식을 나누어주세요!
답변하시면 내공 10점을, 답변이 채택되면 내공 125점(채택25+추가100)을 드립니다.
>나도 답변하기

질문자 선택

re: C# Oracle DB 연동이 잘 안되요. 도와주세요. 내공 100 겁니다.

ngmaster

답변채택률 76.5%

2008.06.03 12:51

질문자인사 감사합니다. 소중한 답변 정말 감사합니다. 하시는일 항상 복받으시길 바랍니다.

Data Source=oracletest.com; 이 부분에서 잘못되었네요.

데이터 소스에 접근하기 위한 알리어스가 필요합니다.

Data Source=oracletest.com/DBDB; 와 같이 적어주셔야 해요.

또는 Data Source=DBDB; 와 같이 적어주셔도 됩니다.

물론 framework 버전과 oracle 버전에 따라서 약간 틀릴수도 있어요..;;


저는 11g는 아직 사용해보진 않았지만 크게 틀리진 않을거 같네요-_-;;

tnsnames에 정의해준 알리어스 (DBDB 또는 ORCL)를 뒤에 적어주고 해보세요.

의견 2

  • sewooim
    안녕하세요. 답변 감사드립니다. 해당 말씀하신 부분이 틀린점 맞고 또한 Integrated Security=yes 이부분을 제거해 주니깐 잘 되네요 ^^;; 혹 저 보안 관련 부분에 대한 내용을 아시면 답변 (Integrated Security=yes) 부탁드립니다. 문제는 해결이 되었어요 일단은 ^^ 내일쯤 보고 내공을 드리도록 하겠습니다. 08.06.03 23:44
  • ngmaster
    Integrated Security 요 부분은 저도 정확하게는 파악하고 있진 않습니다. 만약 그 부분에 true또는 ssip던가..;; 아무튼 지정하게 되면 아참..yes도..마찬가지구요... 윈도우즈 통합계정을 사용한다는 뜻으로 님의 윈도우즈 계정으로 디비에 접속을 하게 될겁니다. 그래서 userid와 pwd를 입력할 필요가 없으며, false 또는 no로 설정하시면 디비에 접속할 계정 및 비밀번호를 입력해야 합니다. 기본적으로 false로 사용하는걸로 알구 있구요. 그 부분은 속성이기 때문에(기본값 false) 삭제하셔도 상관이 없습니다. 08.06.04 10:21
Posted by penguindori