Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

ADO_002 | Connection, RecordSet

Connection개체..연결이 되어야 뭘해도 하지..

인터넷에 연결하려면 인터넷의 주소가 있어야 한다
특정한 페이지에 접근하려면 계정이 있어야 한다
똑같은 이야기다..
데이타베이스써버에 접근하려면
주소도 있어야 하고,데이타베이스이름도 있어야 하고
사용자계정도 있어야 하고, 또 데이타베이스의 종류에 따른
중간 통역자도 지정해 주어야 한다

ADO를 참조 한후
Dim oCon As New ADODB.Connection
이라고 하면 데이타베이스와 연결을 할 Connection개체가 생성이 된다
이때 위에서 이야기한 모든 것을 지정해주어야 할 것이다

oCon.ConnectionString="Provider=SQLOLEDB;" & _ "Data Source=**.***.***.***;" & _ "Initial Catalog=******;" & _ "User ID=*****;Password=***********"

와 같이 ConnectionString속성에 문자열로 여러개의 정보를 배열로
전달하는 것이다
Provider는 OLEDB (데이타베이스에 접근하는 API)상의 데이타베이스마다의
중간역할을 하는 통역을 하는 API중 하나다
Driver라고 하는 것도 있는데 이것은
OLEDB보다 이전 버전 ODBC 라는 API의 중간역할프로그램이고
위의 경우는 SQL OLEDB 즉 SQL데이타베이스에 접근하기 위한 Provider의
이름을 지정하는 것이다
이것이 지정이 안되거나 불분명하거나 하다면 아래와 같은 에러가 뜰 것이다

Microsoft OLE DB Provider for ODBC Drivers 오류 '80004005'
[Microsoft][ODBC 드라이버 관리자] 데이터 원본 이름이 없고 기본 드라이버를 지정하지 않았습니다.

이렇게 이 부분이 접근하려고 하는 데이타쏘스의 형태에 따라,다르다
이런 것을 외우고 있는 것도 바보다
이런것을 제공하는 싸이트에 가면 데이타쏘스의 형태에 따라서 접근하는
ConnectionString속성값이 줄줄이 나와있으니..
참고 하면 되는 것이다

자신이 접근하려고 하는 데이타베이스가 무엇인지만 알고 있으면
위와 같이 찾아서
ConnectionString속성에 문자열로 전달하면 된다
그리고 반드시
oCon.Open
을 하여 통로를 열어 주어야 한다
인터넷이 불량하거나 접속이 시원찮으면 당연히 이부분에서 버벅거릴것이고..
위와 같이 통로가 열리면 SQL문으로 명령을 전달하여 갖여 오면 되는 것이다
갖여온 정보는
Recordset이라는 개체가 받아서 여러분의 컴 메모리상에 자리를
잡게 된다..
이것을 한번 받아서 주욱 시트상에 뿌려버려도 좋고
메모리상에 놓아두고 앞뒤로 움직여 가면서 보아도 좋다
시트에 줄줄이 뿌려져 있는 것이 아니고 보고 싶은 것만
메모리상의 Recordset에서 뽑아서 볼수도 있는 것이다
이것을 해보도록 하자
아래와 같이 만들어 진다



실은 메모리상에 Recordset을 놓고 계속 보는 것은 별로 좋은 방법이 아니다..
Connection개체가 Open된 상태로 유지되고 있으니
많은 사람들이 써버에 붙어서 이렇게 보면 교통량이 많아 질 것이다
순간적으로 처리하고 닫아 버리는 것이 좋다
다음 시간에 또..관련하여 이야기 해나가자.!


XLADO_002.