C#/ADO.NET

ADO.NET

황기하 2021. 12. 27.

이번강좌에서는 기초적인 ADO.NET의 사용법을 알아보도록 합시다.

 

ADO.NET 닷넷이란 무엇일까요?

모든 데이터에 대해 쉽게 접근하고 조작할 수 있도록 .NET Framework에서 제공하는 개체들입니다.

ADO.NET은 System.Data라는 네임스페이스 안에 들어있으며

이를 통칭해서 ADO.NET이라고 부릅니다.

 

옛날에는 ADO였던 것이 닷넷으로 바뀌면서 ADO.NET이라는 명칭을 쓰게 된거져.

데이터베이스라구 하니 좀 어렵다고 생각하는 분들도 계시져?

근데 막상 해보면 쉽습니다.

자..이제 ADO.NET에 대해 살펴 보겠습니다.

 

ADO.NET의 구성요소는 크게 DataSet와 .NET 공급자 두가지로 구분된다.

 

.NET 공급자(데이터베이스에 연결,조작,데이터를 가져오기 위한 개체들을 제공한다.)


.NET 공급자의 종류에는 다음과 같이

① SQL SERVER용 데이터 공급자,

② OLE DB용 데이터 공급자,

③ ODBC용 데이터 공급자가 있다. 


SQL SERVER용 데이터 공급자 :  SQL SERVER만을 위한 공급자로 SQL SERVER에 연결할 때 사용한다.
OLE DB용 데이터 공급자 :        OLE DB를 통해 데이터 원본에 접근할 때 사용한다.
                                          SQL SERVER외에 보통 OLE DB를 많이 사용한다.
ODBC용 데이터 공급자 :          위의 공급자 외에 ODBC를 통해 데이터 원본에 접근할 때 사용한다.

 

우리는 데이터 공급자를 통해서
DataBase에 연결하고 DataBase를 조작할 수 있고 DataBase에서 데이터를 가져올 수도 있다.


각 데이터 공급자의 구성요소에는

Connection, Command, DataReader, DataAdapter등의 4가지가 있다

 

구성 요소 설   명
Connection 데이터베이스 또는 데이터 원본에 연결하기 위해 쓰인다.
Command 데이터베이스 안의 데이터를 조회, 수정, 삭제, 삽입하기 위해 쓰인다.
DataReader 데이터베이스 안의 데이터를 조회하기 위해 쓰인다.
읽기 전용이며 또한 앞으로만 읽어나갈 수 있다. Command 보다 빠른 속도를 제공한다.
DataAdapter 데이터베이스로부터 조회해온 데이터를 DataSet에 채우거나,
DataSet에 변경된 데이터를 데이터베이스에 적용시키는데 쓰인다.

 

DataSet(.NET 공급자에서 가져온 데이터를 저장할 수 있는 저장소이다.)


DataSet란 간단히 말해서 메모리상에 존재하는 데이터베이스라고 보면 된다.

이 DataSet에는 실제 데이터베이스처럼 여러개의 테이블이 존재할 수 있고

각 테이블마다 데이터도 담을 수 있다.

 

즉 기본 형태는 데이터베이스와 같다고 보면 된다.

차이점은 데이터베이스는 실제 저장공간에 존재하는 데이터베이스이고

DataSet는 메모리상에 저장되있는 데이터베이스라고 보면 된다.

 

DataSet는 데이터베이스와의 연결이 끊어진 상태에서

메모리 상에서 작업을 하고 필요할 때 데이터베이스로 변경된 내용을 적용할 수 있다.

 

예를들어 우리가 DB를 수정하는 작업을 하는 프로그램을 사용한다고 하자.

DataSet의 작업방식은 

작업을 하기전 데이터베이스에서 데이터베이스에서 데이터를 가져와

DataSet에 넣고 데이터베이스와의 연결을 끊는다.

 

그리고 우리가 실제적으로 작업을 할 때는 DataSet을 조작한다.

작업이 다 끝나면 또다시 데이터베이스에 연결해서

DataSet의 변경된 내용을 데이터베이스에 적용하고 데이터베이스와의 연결을 끊는다......

 

기존의 방식에서는 작업을 하는동안 계속해서 데이터베이스에 연결된 상태였지만

DataSet를 사용하면

데이터베이스와의 연결이 끊긴 상태에서도 작업이 가능하기 때문에 서버의 부하를 줄일 수 있다.


자... 기본적인 설명들은 여기까지만 하고

이제는 실제로 데이터베이스에 연결하고 데이터를 조작하는 방법을 살펴보겠다.

 

우선 .NET 공급자의 SQL SERVER용 데이터 공급자와  OLE DB용 데이터 공급자에 대해 살펴보겠다.

ODBC용 데이터 공급자는 많이 쓰이지 않기 때문에 이번강좌에서는 다루지 않겠다.

 

데이터 베이스의 연결 (Connection)

 

프로젝트 화면에서 Windows 응용프로그램을 선택하면 왼쪽에 도구상자라구 있죠?

거기서 데이터 부분을 클릭하면 ADO.NET의 구성요소들이 나옵니당..

그중에 데이터베이스 연결과 관련된건 다음과 같이 SqlConnectionOleDbConnection 이 있습니당..

ODBC용 데이터 공급자는 따로 구성요소를 추가하여야 합니당..

 

이제 데이터 베이스에 연결해 봅시당..

SQL SERVER를 사용하신다면 SqlConnection를  

SQL SERVER가 아니라면 OleDbConnection을 사용합니다.

 

SqlConnection와 OleDbConnection의 사용방법은 비슷하기 때문에

SqlConnection의 사용방법만 설명하겠습니당..^^

도구상자의 SqlConnection를 더블클릭해 봅시당.

 

그럼 다음과 같이 SqlConnection이 추가됩니다.

데이터베이스의 연결을 설정하기 위해 SqlConnection의 속성에 ConnectionString를 클릭해 봅니다.

그러면 기존에 DB 연결이 있으면 리스트에 나타나고 처음 연결하는 거라면 새연결을 클릭합니다.
그러면 다음과 같이 연결 속성을 설정할 수 있는 창이 나타납니다.

 

우선 공급자 탭부터 보죠..

우리는 SQL SERVER를 사용할 것이기 때문에 위와 같이 SQL SERVER을 선택하였습니다.

만약 Access 데이터 베이스에 연결한다면

Ole Db Connection으로 연결하셔서 공급자에 Jet 4.0을 선택해야겠죠? ^^

 

다음은 연결자 탭을 선택합니다.

 

1. 이건 DB가 연결되어 있는 곳의 이름이나 주소를 넣는 곳입니다. 제 컴퓨터의 데이터베이스 이름이 JUNG-SE7X95CIYC이기 때문에 이걸 선택하였습니다. 만약 DB가 자신의 컴퓨터가 아닌 다른곳에 있다면 그곳의 주소(xxx.xxx.xxx.xxx)를 입력해 주세요.
2. 여기는 로긴 정보를 입력하는 곳입니다. 데이터베이스에 연결할 때 로긴할 아이디와 페스워드를 입력해 주세요. Windows NT의 통합보안 사용과 특정 사용자 이름 및 암호 사용, 두 종류가 있는데 Windows NT의 통합보안 사용은 Windows 계정을 통해 데이터 베이스에 연결하는 것입니다. 자신이 윈도우에 로긴한 계정정보로 데이터베이스에 연결하기 때문에 Location에서만 가능하겠죠? 만약 데이터베이스가 자신의 컴퓨터가 아닌 다른곳에 있으면 특정 사용자 이름 및 암호 사용을 선택하여 로긴정보를 입력해 주세요.
3. 만약 1,2번의 정보가 다 맞다면 3번을 선택하면 데이터베이스에 리스트가 나옵니다. 자 우리는 기본적으로 제공하는 데이터베이스인 pubs 테이블을 선택합니다. 1,2번 정보가 정확하지 않다면 에러가 뜹니다. 다시한번 확인해 주세요.

자.. 마지막으로 연결 테스트를 선택해 주세요. 연결이 성공적으로 되었으면 성공 메시지가 뜹니다.~ 고급과 모두 탭은 건들일 필요가 없으니 다음에 알아보도록 하죠.. 확인을 누릅니다. 이제 데이터 베이스에 연결하는 작업은 끝났습니다. 연결이 성공적으로 되었으면 다음과 같이 SqlConnection의 속성창에 연결 속성이 추가된걸 볼 수 있습니다.

 

 

[출처] https://www.koreateam.co.kr/116

'C# > ADO.NET' 카테고리의 다른 글

SQL 데이타 갱신  (0) 2021.12.27
ADO.NET 데이타 추가  (0) 2021.12.27
ADO.NET 읽기  (0) 2021.12.27
ADO.NET 사용  (0) 2021.12.27
ADO.NET 소개  (0) 2021.12.27

댓글