프로그래밍 기술/SQL과 ADO.NET

[ADO.NET] SqlConnection 클래스 속성과 메서드

언제나휴일 2016. 4. 22. 12:07
반응형

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 개체로 연결을 연 후에 데이터 베이스를 변경할 때 사용합니다.

 

Program.cs


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);

    }

}

[소스] SqlConnection클래스의 ChangeDatabase메서드

반응형