Programming/.NET
Connection 객체의 주요 목적은 데이터 소스로의 연결정보를 담는것으로 데이터소스의 도메인이나 서버 IP 및 사용자정보(아이디/비밀번호)등을 포함하고 있습니다. 흔히 이런 정보를 연결문자열이라고 부르며 문자열형태로 이루어진 데이터를 의미합니다.

Connection 객체에서 특히 SqlConnection 은 SQL Server 7.0 또는 그 상위의 MS SQL 데이터소스 작업을 위해 존재하는 클래스로서 다음과 같은 몇가지 속성을 포함하고 있습니다. 특히 ConnectionString 속성은 데이터소스 연결을 위해 필수적으로 사용해야 하는 속성입니다.

 ConnectionString  연결문자열을 설정하거나 설정된 값을 읽어옵니다.
 Database  읽기전용이며 연결된 데이터베이스 이름을 반환합니다.
 Datasource  SQL 서버 데이터 베이스의 인스턴스 이름을 반환하는 읽기전용 속성입니다.
 State  현재 연결상태를 반환하며 상태에 따라 Broken, Closed, Connecting, Executing, Fetching, Open 등의 값을 가질 수 있습니다. 읽기전용입니다.

SQL 데이터 베이스 연결을 위해서는 다음과 같은 방법으로 SqlConnection 클래스를 사용합니다.
SqlConnection conn = new SqlConnection(@"Data Source=localhost;Initial Catalog=AdventureWorks2012;User ID=sa;Password=123");
conn.Open();
▶ <코드 1-1>

<코드 1-1>에서는 SqlConnection 클래스에 대한 인스턴스를 생성하고 이와 동시에 연결문자열을 파라메터로 넘겨 초기화 합니다. 여기에서는 localhost 에 위치한 SQL Server 의 로그인을 위해 사용자 아이디와 비밀번호를 지정했는데 윈도우 계정인증을 통해 데이터 베이스에 로그인 하고자 한다면 <코드 1-2>와 같은 형태의 연결문자열을 지정해야 합니다.
@"Data Source=localhost;Initial Catalog=AdventureWorks2012;Integrated Security=True;User Instance=True"
▶ <코드 1-2>

또한 연결문자열에서 Data Source 에는 서버의 도메인이나 IP 를 지정하는 경우가 대부분 이지만 <코드 1-3>과 같이 직접 DB 파일을 지정할 수도 있습니다.
@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\DATABASE\AdventureWorks2012.MDF;Integrated Security=True;User Instance=True"
▶ <코드 1-3>

코드 1-1 에서 1-3 까지는 연결문자열을 직접 지정했는데 실제로 이렇게 하기보다는 관리성 향상과 더 높은 수준의 보안을 유지할 수 있는 Web.config 파일을 이용하는 경우가 더 많습니다.
<connectionStrings>
  <add name="new_connection" connectionString="Data Source=localhost;Initial Catalog=AdventureWorks2012;User ID=sa;Password=123" providerName="System.Data.SqlClient" />
</connectionStrings>
Web.config 파일 안에서 위와 같이 연결문자열을 지정하고난 뒤 실제 SqlConnection 안에서 Web.config 의 해당 정보를 읽어오려면 다음과 같이 처리할 수 있습니다.

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["new_connection"].ConnectionString);
▶ <코드 1-4>

참고로 <코드 1-4>를 위해서는 System.Configuration 네임스페이스 선언이 필요합니다.

'Programming > .NET' 카테고리의 다른 글

[ASP.NET] Command Object  (0) 2016.01.13
[ASP.NET] DLL 교체 시 웹서비스 지연현상  (0) 2015.08.07
[ASP.NET] SqlConnection  (0) 2015.05.18
[ASP.NET] IAsyncResult 인터페이스  (0) 2015.04.20
[ASP.NET] LINQ 활용  (0) 2014.10.07
[ASP.NET] DataSet  (0) 2014.10.06
0 0