ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ODP.NET 설치와 배포 튜토리얼
    .NET/VisualStudio2010 2010. 10. 12. 14:37
    반응형
    튜토리얼 환경

    서버 :
    Windows Server 2008 R2
    Oracle 10g

    클라이언트 :
    Windows Server 2008

    프로그램 :
    Visual Studio 2010
    FrameWork 3.5



    1. Oracle Data Access Components (ODAC) for Windows Downloads


    Oracle 11g Release 2 ODAC 11.2.0.1.2
     Download the XCopy version






    2. 압축 해제




    3. 폴더에 아래의 파일들을 다른곳에 복사해 놓는다


    \ODAC112012Xcopy\instantclient_11_2 

     




    mfc71.dll
    msvcr71.dll
    oci.dll
    ociw32.dll
    orannzsbb11.dll
    oraociei11.dll

    \ODAC112012Xcopy\odp.net20\odp.net\bin\2.x

    Oracle.DataAccess.dll

    \ODAC112012Xcopy\odp.net20\bin

    OraOps11w.dll




    4.  테스트 프로젝트를 만든다






    5.   ODP 폴더를 만든다



    프로젝트 -> Add -> New Folder



       3. 에서 저장한 파일들을 ODP폴더에 옮겨놓는다.








    6.  ODP 폴더에 DLL 을 ADD한다


    ODP 폴더-> Add -> Existing Item 



    아래의 파일들을 추가한다 (All Files(*.*))



    DLL을 추가한 화면  



    7. 참조에서 Oracle.DataAccess.dll  을 추가한다








    8. 코딩한다


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Oracle.DataAccess.Client;
    using System.Data;

    namespace ConsoleApplication11
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    string oradb = "User Id=tester;" +
                                   "Password=tester; " +
                                  @"Data Source=(DESCRIPTION=(ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.200.221)(PORT=1521)))
    (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)))";

                    Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\ODP\\", EnvironmentVariableTarget.Process);

                    using (OracleConnection conn = new OracleConnection(oradb))
                    {
                        conn.Open();
                        OracleCommand cmd = new OracleCommand();
                        cmd.Connection = conn;
                        cmd.CommandText = @"SELECT '데이타' FROM DUAL";
                        cmd.CommandType = CommandType.Text;

                        using (OracleDataReader dr = cmd.ExecuteReader())
                        {
                            dr.Read();
                            string txt = dr.GetString(0);
                            Console.WriteLine(txt);
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    Console.WriteLine(e.ToString());

                    Console.ReadLine();
                }

                Console.ReadLine();
            }
        }
    }


    실행 화면



    9.  배포하기 위한 설정



    ODP -> Properties 




    Copy to Output Diectory -> Copy if newer




    References -> Oracle.DataAccess -> Properties


    Copy Local ->  True




    10.  배포






    11.  클라이언트 배포  실행








    축하합니다. 성공하였습니다. ^^~



    and Gooogle
         




     추가 -ODP.NET 환경설정 샘플

           Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\ODP\\", EnvironmentVariableTarget.Process);
                    Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\ODP\\", EnvironmentVariableTarget.Process);
                    Environment.SetEnvironmentVariable("ORA_TZFILE", null);
                    String nlsLang = Environment.GetEnvironmentVariable("NLS_LANG");
                    if (String.IsNullOrEmpty(nlsLang))//KOREAN_KOREA.KO16MSWIN949 , OR string.Empty
                        Environment.SetEnvironmentVariable("NLS_LANG", "KOREAN_KOREA.KO16MSWIN949");
                    Environment.SetEnvironmentVariable("NLS_DATE_FORMAT", "RR/MM/DD");
                    Environment.SetEnvironmentVariable("NLS_TIME_FORMAT", "HH24:MI:SSXFF");
                    Environment.SetEnvironmentVariable("NLS_TIMESTAMP_FORMAT", "RR/MM/DD HH24:MI:SSXFF");
                    Environment.SetEnvironmentVariable("NLS_TIME_TZ_FORMAT", "HH24:MI:SSXFF TZR");
                    Environment.SetEnvironmentVariable("NLS_TIMESTAMP_TZ_FORMAT", "RR/MM/DD HH24:MI:SSXFF TZR");






    반응형

    댓글

Designed by Tistory.