SqlConnection 속성
SqlConnection 개체는 연결에 관한 여러 가지 속성과 연결 상태에 관한 속성을 제공합니다. 다음은 주요한 속성입니다.
속성 | 가져오기/설정하기 | 설명 |
ConnectionString | 가져오기/설정하기 | 연결 문자열 |
Connection Timeout | 가져오기/설정하기 | 연결 대기 시간 |
Database | 가져오기 | 데이터 베이스 명 |
DataSource | 가져오기 | SQL 서버 인스턴스 명 |
PacketSize | 가져오기 | 패킷 사이즈 |
ServerVersion | 가져오기 | SQL 서버 버젼 |
State | 가져오기 | 상태 |
WorkstationId | 가져오기 | 데이터 베이스 클라이언트 식별 ID(지정하지 않으면 컴퓨터 이름) |
대부분의 속성은 연결 문자열로 지정한 값입니다. SqlConnection 속성 중에 State 속성은 연결 상태를 나타내는 속성으로 다음의 값 중에 하나를 갖습니다.
상태 | 설명 |
Closed | 연결이 닫힌 상태 |
Open | 연결이 열린 상태 |
Connecting | 연결 열기를 시도하는 상태 |
Executing | 명령을 실행하고 있는 상태 |
Fetching | 데이터를 검색하고 있는 상태 |
Broken | 연결이 열린 이후에 끊어진 상태(연결을 닫은 후에 연결하여 사용해야 함) |
SqlConnection 메서드
SqlConnection 개체는 데이터 소스와 연결을 열거나 닫기 위한 메서드를 제공합니다. 그리고 연결이 열린 상태에서 여러 개의 작업을 하나의 논리 작업으로 수행하기 위한 트랜잭션 개체를 생성하는 메서드와 데이터 소스를 변경하는 메서드 등을 제공합니다. 다음은 SqlConnection 클래스에서 제공하는 주요 메서드입니다.
메서드 | 설명 |
BeginTransaction | 트랜잭션을 시작(트랜잭션 개체를 생성하여 반환함) |
ChangeDatabase | 열려있는 SqlConnection 개체의 데이터 베이스를 변경 |
Close | 연결 열기 |
Open | 연결 닫기 |
트랜잭션은 여러 개의 작업을 하나의 논리 작업으로 묶어 작업 중간에 초기 상태로 복귀(Rollback)하거나 현재까지의 작업을 완료(Commit)시키는 것을 말합니다. 이를 사용하는 것은 데이터 소스에 연결을 열고 원하는 작업을 수행하는 SqlCommand 개체를 사용할 때 여러 작업을 논리적으로 묶기 위한 것이므로 여기에서 사용 예를 보이지 않고 SqlCommand 설명 후에 얘기할게요.
ChangeDatabase 메서드는 SqlConnection 개체로 연결을 연 후에 데이터 베이스를 변경할 때 사용합니다.
static void Main(string[] args) { try { string constr = @"Data Source=[서버 이름];Initial Catalog=[DB 명]; User ID=[ID];Password=[PW]"; SqlConnection scon = new SqlConnection(); scon.ConnectionString = constr; scon.Open(); //연결 열기 Console.WriteLine("데이터 베이스:{0}", scon.Database); scon.ChangeDatabase("master"); Console.WriteLine("데이터 베이스:{0}", scon.Database); scon.Close(); //연결 닫기 } catch (Exception e) { Console.WriteLine(e.Message); } }