본문 바로가기

[C#] Oracle Wallet 사용해 Oracle Cloud Connection

I'm 영서 2022. 4. 21.
반응형

기존의 오라클 연결에서 

DB를 Oracle Cloud 에 만들면서 Oracle Wallet을 생성하고 해당 Wallet을 통해서만 접속이 돼서 

C# 에서 접속하는 방법을 포스팅한다..

 

아무것도 모르는 상태라고 생각하고 처음부터 진행 ( VS 2017, 2022 확인)

 

절차

1. Nuget에서 Oracle.ManagedDataAccess 설치

2. OracleConnection 설정

3. Sql 수행

 

1. Nuget에서 오라클 접속 패키지를 내려받자

그냥 설치만 해주면 된다..

설치가 완료되면

참조에 생긴다..

 

2. Oracle Connection 셋팅

코드부터

            // This sample demonstrates how to use ODP.NET Core Configuration API

            // Add connect descriptors and net service names entries.
            OracleConfiguration.OracleDataSources.Add("orcl_high", /*"oracle wallet의 tns_names중 한가지 선택하여 입력"*/);

            // Set default statement cache size to be used by all connections.
            OracleConfiguration.StatementCacheSize = 25;

            // Disable self tuning by default.
            OracleConfiguration.SelfTuning = false;

            // Bind all parameters by name.
            OracleConfiguration.BindByName = true;

            // Set default timeout to 60 seconds.
            OracleConfiguration.CommandTimeout = 60;

            // Set default fetch size as 1 MB.
            OracleConfiguration.FetchSize = 1024 * 1024;


            // Set network properties

            OracleConnection orclCon = null;
            try
            {
                // Open a connection
                orclCon = new OracleConnection("user id="/*오라클 DB ID*/"; password="/*오라클 DB PW*/"!; data source="/*Oracle DB ServiceName*/"");
                orclCon.WalletLocation = @"C:\Users\ussoft\OneDrive\OracleCloud\Wallet_orcl";
                orclCon.Open();

                // Execute simple select statement that returns first 10 names from EMPLOYEES table
                OracleCommand orclCmd = orclCon.CreateCommand();
                orclCmd.CommandText = "select ST_ID from BLD_USER ";
                OracleDataReader rdr = orclCmd.ExecuteReader();

                while (rdr.Read())
                    Console.WriteLine("USER ID : " + rdr.GetString(0));

                Console.ReadLine();

                rdr.Dispose();
                orclCmd.Dispose();
            }
            finally
            {
                // Close the connection
                if (null != orclCon)
                    orclCon.Close();
            }

 

들어가는 값들을 오라클 클라우드에서 확인한다면

USER_ID 와 PASSWORD는 접속할 DB를 써주면 되고

DATA SOURCE 는 ORACLE WALLET 내의 TNSNAMES에서확인하면 된다.

 

* 파일경로명 치는 방법

참조 WalletLocation (oracle.com)

// C#
OracleConnection con = new OracleConnection();
con.WalletLocation = "D:\\oracle\\client\\wallets";
con.WalletLocation = @"D:\oracle\client\wallets";
con.WalletLocation = "D:/oracle/client/wallets";

 

실행결과

완벽...! 이제 이거가지고 로그인 구현해야지

반응형

댓글