[C#] Oracle Wallet 사용해 Oracle Cloud Connection
반응형
기존의 오라클 연결에서
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";
실행결과
반응형
'Study > C#' 카테고리의 다른 글
[C#] 한글파일 접근 허용 여부 (0) | 2022.07.07 |
---|---|
[C#] Visual Studio에서 Coding Covention 적용하는 방법 (0) | 2022.06.10 |
[C#] Sealed (0) | 2022.04.12 |
[C#] C#에서 POST방식으로 특정 URL로 데이터 전송 (0) | 2022.04.07 |
[C#] C#에서 DataTable 을 JSON으로 변경 (0) | 2022.04.07 |
댓글