Connection 생성하기 - 정리..
DB&XML 2007. 9. 18. 18:40 |Connection의 이해
Connection은 데이터 저장소와 .NET 응용 프로그램 사이의 물리적 커뮤니케이션을 다른다. Connection 객체는 데이터 공급자의 한 부분이기 때문에. 각각의 데이터 공급자는 자신만의 Connection 객체를 구현한다. .NET 프레임 워크가 제공하는 두 개의 데이터 공급자는 System.Data.OleDB 네임스페이스에서 OleDbconnection을 구현하고, System.Data.SqlClient 네임스페이스에서 SqlConnection을 구현한다.
OleDbConnection은 보통 OLE DB를 사용하는데, Microsoft SQL Server를 포함하여 다른 OLE DB 공급자에서도 사용할 수 있다. SqlConnection 은 OLE DB 공급자를 거치지 않고 직접 SQL Server로 접속하기 때문에, SQL Server일 경우에 효과적이다.
Connection을 직접 생성할 수도 있지만. 여기서는 테스트를 쉽게 하기 위해서
DataAdapter를 사용했다.
OleDbDataAdapter 또는 SqlDataAdapter를 사용해서 공급자를 선택하고 서버명, 로그인 정보를 입력하고 원하는 데이터 베이스를 선택 했다.
그리고 쿼리 생성기를 사용해서 해당 테이블의 컬럼 정보를 선택해서 생성하였다.
이렇게 하면 디자인 뷰의 화면 하단에 oleDbDataAdapter1, oleDbConnection1 또는 sqlDataAdapter1, sqlConnection1 이 생기게 된다.
Connection을 이해 하기 위해서 두개의 ConnectionString를 모두 추가 하였고 이것을 사용해서 테스트를 진행 했다.
두개의 커넥션을 모두 받을수 있는 System.Data.IDbConnection 변수를 하나 생성하였다.
private System.Data.IDbConnection myconnection;
그리고 Ole 또는 Sql 을 선택해서 myconnection에 설정하게 된다.
myconnection = this.oleDbConnection1;
myconnection 은 아래와 같은 3개의 정보를 담고 있다.
1. myconnection.ConnectionString.ToString();
2. myconnection.Database.ToString();
3. myconnection.ConnectionTimeout.ToString();
커넥션을 열고 닫고 하는 과정은 아래와 같다.
this.myconnection.Open(); //커넥션을 오픈한다.
MessageBox.Show(this.myconnection.State.ToString()); //커넥션 상태를 알아본다.
this.myconnection.Close(); //커넥션을 닫는다.
[관련내용]
ConnectionString 속성
ConnectionString은 어느 Connection 객체이든지 간에 가장 중요한 속성이며, 사실상 나머지 속성은 읽기 전용이다. 이들 나머지 속성들은 ConnectionString이 제공한 값에 의해 생성된 Connection에 의해 설정된다.
모든 ConnectionString은 동일한 포멧을 가진다. 그것은 키워드와 값이 한 세트로 구성되고 세미콜론(;)으로 구분되며, 전체가 작은 따옴표나 큰 따옴표로 쌓여 있다.
"keyword=value;keyword=value"
키워드 이름은 대소문자 구별을 하지 않는다. 그러나 데이터 소스에 의존하는 값은 그렇지 않을 수 있다. 작은 따옴표 혹은 큰 따옴표의 사용은 문자열의 기본 규칙을 따른다. 예를 들면, 데이터베이스의 이름이 Becca's Data이면, ConnectionString은 큰 따옴표를 써야 한다. "Database=Becca's Data", 'Database=Becca's Data' 는 에러를 일으킬 것이다.
동일한 키워드를 여러번 사용한다면 마지막 인스턴스가 사용될 것이다. 예를 들어, ConnectionString에 databast=Becca's Data ; database=Northwind"를 준다면, 초기 데이터베이스는 NorthWind가 될 것이다. 다중 인스턴스를 사용하는 것이 구문 에러를 발생하지 않는 가장 이상적인 방법이다.
ConnectionString 형식은 어렵지 않지만, 내용은 데이터 공급자마다 항상 고유하기 때문에 내용을 정의 하는 것이 어려울 수 있다. 그러나 [데이터 연결 속성] 대화 상자를 이용해서 디자인 타임 연결을 생성하고, 그 값을 복사함으로써 쉽게 작업을 할 수 있다.
ConnectionString은 연결이 닫힐 때만 설정할 수 있다. 설정될 때 Connection 객체는 문자열 문법을 검사하고 나머지 속성(앞에서 읽기 전용이고 했던 것을 기억할 것이다)들을 설정할 것이다. ConnectionString은 연결이 열려 있을 때에 완전히 확인할 수 있다. 만약 연결이 확인되지 않거나 제공하지 않는 속성을 발견하면 오류가 발생할 것이다(객체가 사용될 때 의존하고 있는 OleDbException과 SqlDbException 둘 중 하나에서 발생한다.).
이상...
이론 내용은 Microsoft ADO.NET Step by Step 내용 2장에서 발췌 하였음...
Connection은 데이터 저장소와 .NET 응용 프로그램 사이의 물리적 커뮤니케이션을 다른다. Connection 객체는 데이터 공급자의 한 부분이기 때문에. 각각의 데이터 공급자는 자신만의 Connection 객체를 구현한다. .NET 프레임 워크가 제공하는 두 개의 데이터 공급자는 System.Data.OleDB 네임스페이스에서 OleDbconnection을 구현하고, System.Data.SqlClient 네임스페이스에서 SqlConnection을 구현한다.
OleDbConnection은 보통 OLE DB를 사용하는데, Microsoft SQL Server를 포함하여 다른 OLE DB 공급자에서도 사용할 수 있다. SqlConnection 은 OLE DB 공급자를 거치지 않고 직접 SQL Server로 접속하기 때문에, SQL Server일 경우에 효과적이다.
Connection을 직접 생성할 수도 있지만. 여기서는 테스트를 쉽게 하기 위해서
DataAdapter를 사용했다.
OleDbDataAdapter 또는 SqlDataAdapter를 사용해서 공급자를 선택하고 서버명, 로그인 정보를 입력하고 원하는 데이터 베이스를 선택 했다.
그리고 쿼리 생성기를 사용해서 해당 테이블의 컬럼 정보를 선택해서 생성하였다.
이렇게 하면 디자인 뷰의 화면 하단에 oleDbDataAdapter1, oleDbConnection1 또는 sqlDataAdapter1, sqlConnection1 이 생기게 된다.
Connection을 이해 하기 위해서 두개의 ConnectionString를 모두 추가 하였고 이것을 사용해서 테스트를 진행 했다.
두개의 커넥션을 모두 받을수 있는 System.Data.IDbConnection 변수를 하나 생성하였다.
private System.Data.IDbConnection myconnection;
그리고 Ole 또는 Sql 을 선택해서 myconnection에 설정하게 된다.
myconnection = this.oleDbConnection1;
myconnection 은 아래와 같은 3개의 정보를 담고 있다.
1. myconnection.ConnectionString.ToString();
2. myconnection.Database.ToString();
3. myconnection.ConnectionTimeout.ToString();
커넥션을 열고 닫고 하는 과정은 아래와 같다.
this.myconnection.Open(); //커넥션을 오픈한다.
MessageBox.Show(this.myconnection.State.ToString()); //커넥션 상태를 알아본다.
this.myconnection.Close(); //커넥션을 닫는다.
[관련내용]
ConnectionString 속성
ConnectionString은 어느 Connection 객체이든지 간에 가장 중요한 속성이며, 사실상 나머지 속성은 읽기 전용이다. 이들 나머지 속성들은 ConnectionString이 제공한 값에 의해 생성된 Connection에 의해 설정된다.
모든 ConnectionString은 동일한 포멧을 가진다. 그것은 키워드와 값이 한 세트로 구성되고 세미콜론(;)으로 구분되며, 전체가 작은 따옴표나 큰 따옴표로 쌓여 있다.
"keyword=value;keyword=value"
키워드 이름은 대소문자 구별을 하지 않는다. 그러나 데이터 소스에 의존하는 값은 그렇지 않을 수 있다. 작은 따옴표 혹은 큰 따옴표의 사용은 문자열의 기본 규칙을 따른다. 예를 들면, 데이터베이스의 이름이 Becca's Data이면, ConnectionString은 큰 따옴표를 써야 한다. "Database=Becca's Data", 'Database=Becca's Data' 는 에러를 일으킬 것이다.
동일한 키워드를 여러번 사용한다면 마지막 인스턴스가 사용될 것이다. 예를 들어, ConnectionString에 databast=Becca's Data ; database=Northwind"를 준다면, 초기 데이터베이스는 NorthWind가 될 것이다. 다중 인스턴스를 사용하는 것이 구문 에러를 발생하지 않는 가장 이상적인 방법이다.
ConnectionString 형식은 어렵지 않지만, 내용은 데이터 공급자마다 항상 고유하기 때문에 내용을 정의 하는 것이 어려울 수 있다. 그러나 [데이터 연결 속성] 대화 상자를 이용해서 디자인 타임 연결을 생성하고, 그 값을 복사함으로써 쉽게 작업을 할 수 있다.
ConnectionString은 연결이 닫힐 때만 설정할 수 있다. 설정될 때 Connection 객체는 문자열 문법을 검사하고 나머지 속성(앞에서 읽기 전용이고 했던 것을 기억할 것이다)들을 설정할 것이다. ConnectionString은 연결이 열려 있을 때에 완전히 확인할 수 있다. 만약 연결이 확인되지 않거나 제공하지 않는 속성을 발견하면 오류가 발생할 것이다(객체가 사용될 때 의존하고 있는 OleDbException과 SqlDbException 둘 중 하나에서 발생한다.).
이상...
이론 내용은 Microsoft ADO.NET Step by Step 내용 2장에서 발췌 하였음...