SqlConnection 클래스에는 두 가지 생성자를 제공합니다.
SqlConnection(); SqlConnection(string conStr);
▷SqlConnection();
연결할 데이터 소스를 지정하지 않은 상태의 SqlConnection 개체를 생성합니다. 연결을 열려면 연결 문자열을 ConnectionString 속성에 지정하여야 합니다.
속성 | 초기값 | 설명 |
ConnectionString | string.Empty | 연결 문자열 |
ConnectionTimeout | 15(분) | 연결 대기시간 |
Database | string.Empty | 데이터 베이스 명 |
DataSource | string.Empty | SQL 서버 인스턴스 명 |
만약, 연결 문자열을 지정하지 않고 열기를 시도하면 InvalidOperationException이 발생하며 예외 메시지 속성 값은 “ConnectionString 속성이 초기화되지 않았습니다.” 입니다.
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(); //연결 열기 //작업 수행 scon.Close(); //연결 닫기 } catch (Exception e) { Console.WriteLine(e.Message); } }
▷SqlConnection(string conStr);
연결 문자열을 인자로 전달하여 SqlConnection 개체를 생성합니다. 연결 문자열에는 데이터 소스의 이름과 데이터 베이스 이름, 계정 정보 등을 지정할 수 있습니다.
연결 문자열은 연결에 필요한 여러 종류의 속성을 약속한 키워드와 대입 연산자와 값을 세미콜론으로 구분하여 지정할 수 있습니다.
string constr = @”Data Source=My Com\SqlServer;Initial Catalog=TestDB; User ID=abc;Password=123″;
다음은 연결 문자열에 사용할 수 있는 주요한 키워드입니다. 이 외에도 세부 설정을 위한 다양한 키워드를 제공하고 있는데 자세한 사항은 MSDN을 참고하세요.
키워드 | 초기값 | 설명 |
Addr, Address,Data Source,Server,Network Address | 없음 | 데이터 소스(SQL 서버 인스턴스 명) |
Initial Catalog,Database | 없음 | 데이터 베이스 명 |
User ID, UID | 없음 | SQL 로긴 계정 |
Password, PWD | 없음 | SQL 로긴 계정의 비밀 번호 |
Connect Timeout,Connection Timeout,Timeout | 15(초) | 연결 대기 시간(초) |
Packet Size | 8192(바이트) | SQL 서버와 통신 네트워크 패킷사이즈 512~32768 |
만약 연결 문자열에 사용할 수 없는 키워드가 있다면 ArgumentException이 발생합니다. 그리고 연결에 필요한 값이 잘못 지정하였을 때에는 Open 메서드를 호출할 때 예외가 발생합니다.