SQL programming 
ADO.NET 사용

ADO.NET은 .NET Framework에 내장되어 있으며, 이를 사용하기 위해서는 System.Data.dll 을 참조하여야 한다. 일반적으로 대부분의 프로젝트 템플렛에 이미 기본적으로 System.Data.dll을 포함하고 있으므로, 별도 추가하지 않아도 되는 경우가 많다. (만약 참조되지 않은 경우: Visual Studio에서 새 프로젝트를 생성한 후 Solution Explorer에서 해당 프로젝트로부터 Rightclick한 후 [레퍼런스 추가...] (Add Reference...) 컨텍스트 메뉴를 누르고, [레퍼런스 추가] 다이얼로그가 뜨면 [.NET] 탭에서 System.Data.DLL을 추가하면 된다.) 해당 DLL이 참조된 후에는 using System.Data.SqlClient; (C#) 을 상단 using 블럭에 적으면 ADO.NET의 SQL 서버 클라이언트를 위한 클래스들을 사용할 수 있다.







ADO.NET을 이용한 SQL 서버 연결

ADO.NET에서 SQL Server를 접속하기 위해서는 SqlConnection 클래스를 사용한다. 모든 데이타베이스 프로그램은 크게 서버 접속 연결, 명령 수행, 서버 접속 해제등의 단계를 거친다. 서버와 접속을 위해서는 접속시 사용하는 Connection String이 필요한데, 이곳에는 서버명, 인증방법, 초기 DB명 등을 지정하게 된다. Connection String의 Data Source에는 서버명을 적는다. 로컬 SQL 서비인 경우는 (local)이나 . 혹은 localhost나 로컬컴퓨터명은 적으면 된다. 리모트 SQL 서버인 경우는 해당 서버명을 적는다. SQL 서버가 Named Instance인 경우는 [서버명\인스턴스명]과 같이 적는데, 예를 들어 로컬 SQLEXPRESS Named Instance의 경우는 .\SQLEXPRESS와 같이 적을 수 있다. Initial Catalog는 초기 연결할 데이타베이스명을 써주고, Windows 인증을 사용하는 경우는 Integrated Security=SSPI를 사용하고, SQL 인증인 경우는 User ID와 Password에 각각 SQL로그인명과 암호를 적는다.(예: User ID=sa;Password=zzz; )
서버 접속은 SqlConnection객체의 Open()메서드를 써서 하고, 접속 해제는 Close() 메서드를 사용한다.


예제





C# 서버 접속 자동 해제

SqlConnection의 접속을 자동으로 해제하는 한 방법으로 C#에서 using 키워드를 사용할 수 있다. using(...)의 괄호 안에서 SqlConnection 객체를 생성하면, using 블럭이 끝났을 때, 자동으로 서버 접속을 해제하는 Dispose() 메서드를 호출해 준다. 한가지 주목할 만한 사실은 using블럭 내에서 에러가 발생하면 이는 catch되지 않는다는 것이다. 따라서 using은 try...finally로 Connection 리소스 해지를 하는 역활을 한다고 보면 된다.





본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.