.net에서 Oracle Autonomous Database 연결 (Oracle.ManagedDataAccess)
5606 단어 데이터베이스오라클AutonomousCloud.NET
개요
Oracle Autonomous Database Cloud는 클라우드에서 자율 데이터베이스를 제공합니다.
.net에서 Oracle Autonomous Database에 연결해 보았습니다.
(Oracle Autonomous Data Warehouse와 Oracle Autonomous Transaction Processing 두 가지 유형이 있지만 연결 방법은 동일합니다.)
1 준비
1.1 Autonomous Transaction Processing 데이터베이스 작성
1.2 클라이언트 자격 증명 (월렛) 다운로드
Wallet_TEST1.zip을 저장합니다.
2 연결 테스트
2.1 Visual Studio 시작, Atptest1 만들기 (Windows Form application)
2.2 Nuget에서 Oracle.ManagedDataAccess 최신 버전 설치
※Oracle.ManagedDataAccess의 최신판 선택해야 할 것 같습니다만, 버전 12.1.24160419 이후 접속할 수 있는 것을 확인했습니다.
2.3 지갑 파일 압축 해제
위의 1.2에서 다운로드 한 지갑 파일을 Atptest1의 bin 폴더로 압축 해제
※임의의 폴더에 해동해 문제 없습니다만 아래 2점 주의할 필요가 있다
1. tnsnames.ora와 sqlnet.ora를 exe와 같은 폴더에 저장해야합니다.
2. sqlnet.ora의 DIRECTORY 부분 분해 폴더에 맞게 작성해야합니다.
2.4 sqlnet.ora 편집
위의 2.3에서 압축을 푼 파일의 sqlnet.ora를 환경에 맞추어 DIRECTORY 부분을 수정 (상대 경로, 절대 경로 모두 문제 없음)
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="./")))
SSL_SERVER_DN_MATCH=yes
2.5 간단한 코드로 Oracle 연결 동작 확인
2.5.1 샘플 코드
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "User Id=ADMIN;Password=*your password*;Data Source=test1_high";
conn.Open();
OracleCommand oraCmd = new OracleCommand("SELECT TABLE_NAME FROM ALL_TABLES", conn);
OracleDataReader oraReader;
oraReader = oraCmd.ExecuteReader();
while (oraReader.Read())
{
Console.WriteLine(oraReader.GetString(0));
}
oraReader.Close();
conn.Close();
데이터 소스의 부분 tnsnames.ora 파일을 참조하십시오.
서비스 이름은 아래 인용 된 Oracle 문서를 참조하십시오.
미리 정의된 서비스 이름은 Autonomous Transaction Processing의 다양한 수준의 성능과 동시성을 제공합니다.
high: 높은 데이터베이스 서비스는 시스템이 자원 압축(예: CPU 또는 IO)을 받을 때 이 서비스를 통해 실행되는 SQL 문에 최고 수준의 자원을 제공합니다. 이 서비스에서 실행할 수 있는 동시 SQL 문 수는 데이터베이스의 CPU 수를 늘리고 CPU 수에 따라 확장합니다.
medium : 중간 규모 데이터베이스 서비스는 시스템이 자원 압축 (예 : CPU 또는 IO)을받을 때이 서비스를 통해 실행되는 SQL 문에 낮은 레벨의 자원을 제공합니다. 이 서비스에서 실행할 수 있는 동시 SQL 문의 수는 데이터베이스의 CPU 수에 따라 다르며 CPU 수에 비례합니다.
low: 낮은 데이터베이스 서비스는 시스템이 자원 압축(예: CPU 또는 IO)을 받을 때 이 서비스를 통해 실행되는 SQL 문에 최소 레벨의 자원을 제공합니다. 이 서비스에서 실행할 수 있는 동시 SQL 문의 수는 데이터베이스의 CPU 수에 따라 다르며 CPU 수에 비례합니다.
parallel : 병렬 서비스는 병렬 실행을 사용하여 자동으로 실행되지만 동시 실행 SQL 문 수가 가장 적기 때문에이 서비스를 통해 실행되는 각 SQL 문에 높은 수준의 리소스를 제공합니다. 합니다. 배치 프로세스 또는 보고서 워크로드만 이 서비스를 사용하는 것이 좋습니다.
2.5.2 실행 결과
안전하게 연결할 수있었습니다!
참고 자료:
htps //w w. 오 c. 이 m / ch ch와 rk / t ps cs / t t t / ch ch if / / fu t-5032178. HTML
htps : // / cs. 오 c. 이 m/cd/에 83857_01/파아 s/아 tpcぉ우 d/아 t프g/이런 ct-p로 흠 d. HTML#Gu D-9747539B-FD46-44F1-8-f8-F5 A C650F15
2019/07/13 추가
보안 관점에서 Client 직접 Internet을 통해 Autonomous Database에 연결하지 않으려면 아래 도구를 사용하면 더 안전하고 높은 성능을 기대할 수 있습니다.
Cdbc(Cloud Database Connectivity)
장점:
Database port를 Internet 개방할 필요가 없다, Client는 443 port 사용, 복잡한 설정 불필요
월렛을 모든 고객에게 배포할 필요가 없습니다.
통신하는 패킷을 압축할 수 있다
DB에의 접속은 1개소 집중 관리할 수 있다
Reference
이 문제에 관하여(.net에서 Oracle Autonomous Database 연결 (Oracle.ManagedDataAccess)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fish_on_cloud/items/0d36594212736c195301
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1.1 Autonomous Transaction Processing 데이터베이스 작성
1.2 클라이언트 자격 증명 (월렛) 다운로드
Wallet_TEST1.zip을 저장합니다.
2 연결 테스트
2.1 Visual Studio 시작, Atptest1 만들기 (Windows Form application)
2.2 Nuget에서 Oracle.ManagedDataAccess 최신 버전 설치
※Oracle.ManagedDataAccess의 최신판 선택해야 할 것 같습니다만, 버전 12.1.24160419 이후 접속할 수 있는 것을 확인했습니다.
2.3 지갑 파일 압축 해제
위의 1.2에서 다운로드 한 지갑 파일을 Atptest1의 bin 폴더로 압축 해제
※임의의 폴더에 해동해 문제 없습니다만 아래 2점 주의할 필요가 있다
1. tnsnames.ora와 sqlnet.ora를 exe와 같은 폴더에 저장해야합니다.
2. sqlnet.ora의 DIRECTORY 부분 분해 폴더에 맞게 작성해야합니다.
2.4 sqlnet.ora 편집
위의 2.3에서 압축을 푼 파일의 sqlnet.ora를 환경에 맞추어 DIRECTORY 부분을 수정 (상대 경로, 절대 경로 모두 문제 없음)
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="./")))
SSL_SERVER_DN_MATCH=yes
2.5 간단한 코드로 Oracle 연결 동작 확인
2.5.1 샘플 코드
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "User Id=ADMIN;Password=*your password*;Data Source=test1_high";
conn.Open();
OracleCommand oraCmd = new OracleCommand("SELECT TABLE_NAME FROM ALL_TABLES", conn);
OracleDataReader oraReader;
oraReader = oraCmd.ExecuteReader();
while (oraReader.Read())
{
Console.WriteLine(oraReader.GetString(0));
}
oraReader.Close();
conn.Close();
데이터 소스의 부분 tnsnames.ora 파일을 참조하십시오.
서비스 이름은 아래 인용 된 Oracle 문서를 참조하십시오.
미리 정의된 서비스 이름은 Autonomous Transaction Processing의 다양한 수준의 성능과 동시성을 제공합니다.
high: 높은 데이터베이스 서비스는 시스템이 자원 압축(예: CPU 또는 IO)을 받을 때 이 서비스를 통해 실행되는 SQL 문에 최고 수준의 자원을 제공합니다. 이 서비스에서 실행할 수 있는 동시 SQL 문 수는 데이터베이스의 CPU 수를 늘리고 CPU 수에 따라 확장합니다.
medium : 중간 규모 데이터베이스 서비스는 시스템이 자원 압축 (예 : CPU 또는 IO)을받을 때이 서비스를 통해 실행되는 SQL 문에 낮은 레벨의 자원을 제공합니다. 이 서비스에서 실행할 수 있는 동시 SQL 문의 수는 데이터베이스의 CPU 수에 따라 다르며 CPU 수에 비례합니다.
low: 낮은 데이터베이스 서비스는 시스템이 자원 압축(예: CPU 또는 IO)을 받을 때 이 서비스를 통해 실행되는 SQL 문에 최소 레벨의 자원을 제공합니다. 이 서비스에서 실행할 수 있는 동시 SQL 문의 수는 데이터베이스의 CPU 수에 따라 다르며 CPU 수에 비례합니다.
parallel : 병렬 서비스는 병렬 실행을 사용하여 자동으로 실행되지만 동시 실행 SQL 문 수가 가장 적기 때문에이 서비스를 통해 실행되는 각 SQL 문에 높은 수준의 리소스를 제공합니다. 합니다. 배치 프로세스 또는 보고서 워크로드만 이 서비스를 사용하는 것이 좋습니다.
2.5.2 실행 결과
안전하게 연결할 수있었습니다!
참고 자료:
htps //w w. 오 c. 이 m / ch ch와 rk / t ps cs / t t t / ch ch if / / fu t-5032178. HTML
htps : // / cs. 오 c. 이 m/cd/에 83857_01/파아 s/아 tpcぉ우 d/아 t프g/이런 ct-p로 흠 d. HTML#Gu D-9747539B-FD46-44F1-8-f8-F5 A C650F15
2019/07/13 추가
보안 관점에서 Client 직접 Internet을 통해 Autonomous Database에 연결하지 않으려면 아래 도구를 사용하면 더 안전하고 높은 성능을 기대할 수 있습니다.
Cdbc(Cloud Database Connectivity)
장점:
Database port를 Internet 개방할 필요가 없다, Client는 443 port 사용, 복잡한 설정 불필요
월렛을 모든 고객에게 배포할 필요가 없습니다.
통신하는 패킷을 압축할 수 있다
DB에의 접속은 1개소 집중 관리할 수 있다
Reference
이 문제에 관하여(.net에서 Oracle Autonomous Database 연결 (Oracle.ManagedDataAccess)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fish_on_cloud/items/0d36594212736c195301
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="./")))
SSL_SERVER_DN_MATCH=yes
OracleConnection conn = new OracleConnection();
conn.ConnectionString = "User Id=ADMIN;Password=*your password*;Data Source=test1_high";
conn.Open();
OracleCommand oraCmd = new OracleCommand("SELECT TABLE_NAME FROM ALL_TABLES", conn);
OracleDataReader oraReader;
oraReader = oraCmd.ExecuteReader();
while (oraReader.Read())
{
Console.WriteLine(oraReader.GetString(0));
}
oraReader.Close();
conn.Close();
htps //w w. 오 c. 이 m / ch ch와 rk / t ps cs / t t t / ch ch if / / fu t-5032178. HTML
htps : // / cs. 오 c. 이 m/cd/에 83857_01/파아 s/아 tpcぉ우 d/아 t프g/이런 ct-p로 흠 d. HTML#Gu D-9747539B-FD46-44F1-8-f8-F5 A C650F15
2019/07/13 추가
보안 관점에서 Client 직접 Internet을 통해 Autonomous Database에 연결하지 않으려면 아래 도구를 사용하면 더 안전하고 높은 성능을 기대할 수 있습니다.
Cdbc(Cloud Database Connectivity)
장점:
Database port를 Internet 개방할 필요가 없다, Client는 443 port 사용, 복잡한 설정 불필요
월렛을 모든 고객에게 배포할 필요가 없습니다.
통신하는 패킷을 압축할 수 있다
DB에의 접속은 1개소 집중 관리할 수 있다
Reference
이 문제에 관하여(.net에서 Oracle Autonomous Database 연결 (Oracle.ManagedDataAccess)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fish_on_cloud/items/0d36594212736c195301
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(.net에서 Oracle Autonomous Database 연결 (Oracle.ManagedDataAccess)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fish_on_cloud/items/0d36594212736c195301텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)