working with vbscript adodb connection objects
VBScript 연결 개체 소개 : 자습서 # 12
내 이전 VBS 튜토리얼 , 우리는‘ Excel 개체 'VBScript에서. 이 튜토리얼에서는 다음에 대해 설명합니다. 연결 개체 VBScript에서 사용됩니다.
VBScript는 다양한 유형의 개체를 지원하며 연결 개체가 그 중 하나입니다. 연결 개체는 주로 Coder가 데이터베이스 연결을 처리하고 작동하도록 지원하는 개체를 말합니다.
이 튜토리얼은 이해하기 쉬운 간단한 예제와 함께 다양한 속성 및 방법을 포함하여 VBScript의 연결 개체의 모든 측면을 안내합니다.
학습 내용 :
- 개요
- 연결 개체의 속성 및 방법
- ADODB 연결 개체를 사용하여 데이터베이스 연결 설정
- ADODB 연결 개체를 사용하여 Excel 파일로 데이터 내보내기
- ADODB 연결 개체를 사용하여 데이터를 텍스트 파일로 내보내기
- 결론
- 추천 도서
개요
SQL Server, PL / SQL 등과 같은 모든 데이터베이스는 설치됨 컴퓨터에서 데이터베이스 연결로 작업하십시오.
따라서 QTP의 데이터베이스에 연결하는 간단한 메커니즘이 없습니다. 그러나의 도움으로 ADODB 개체 , 데이터베이스와 상호 작용하고 SQL 쿼리를 사용하여 데이터베이스에서 데이터를 가져올 수 있습니다.
야단법석 약자 ActiveX 데이터 개체 이것은 QTP와 데이터베이스 사이에서 중개자 역할을하는 메커니즘을 제공합니다.
이 주제는 데이터베이스 작업의 기초를 형성했으며 장기적으로 더 잘 이해한다면 매우 도움이 될 것입니다.
데이터베이스 작업에 필요한 모든 다른 코드, 속성 및 메서드를 쉽게 이해할 수 있도록하여 코드를 쉽게 작성할 수 있도록 노력하겠습니다.
이제 데이터베이스와의 연결을 설정하는 데 도움이되는 속성 및 방법부터 시작하겠습니다.
무료로 최고의 mp3 다운로드 사이트는 무엇입니까?
연결 개체의 속성 및 방법
데이터베이스에서 데이터 추출을 지원하는 다양한 속성과 방법이 있습니다.
ADODB 연결 개체 속성 목록은 다음과 같습니다.
# 1) 연결 문자열 :
이것은 데이터베이스 연결을 만드는 데 사용되는 매우 유용한 속성이며 드라이버, 데이터베이스 서버 이름, 사용자 이름 및 암호 .
# 2) 연결 시간 초과 :
필요한 시간을 정의하는 데 사용됩니다. 기다리는 연결이 설정됩니다.
# 3) 제공자 :
이 속성은 공급자와 관련된 모든 세부 정보를 제공합니다. 연결 제공자 .
# 4) 상태 :
연결 상태에 대한 정보를 제공합니다. ON 또는 OFF .
위에서 언급 한 것들은 연결 개체의 속성입니다. 그러나 RecordSet 객체 (우리는 잠시 후에 논의 할 것입니다).
속성 목록은 다음과 같습니다.
# 1) BOF :
이 속성은 현재 레코드의 위치를 아는 데 사용됩니다. 현재 레코드의 위치가있는 경우 첫 기록 전 레코드 집합의 경우이 속성은 true를 반환합니다.
# 2) EOF :
이것은 위의 것과 반대입니다. 현재 레코드의 위치가있는 경우 마지막 기록 이후 레코드 집합의 경우이 속성은 true를 반환합니다.
노트 : 레코드 세트에 레코드가 없으면 EOF 및 BOF 값은 false가됩니다. 이것은 빈 레코드의 유효성을 검사하는 경우, 즉 레코드 집합에 레코드가없는 경우에 유용합니다.
# 3) MaxCount :
이것은 설정에 유용합니다 최고 데이터베이스에서 반환 될 수있는 행 / 레코드의 값, 즉 데이터에서 한 번에 최대 20 개 행을 가져 오려면이 속성을 20으로 설정할 수 있습니다.
이제 방법을 살펴 보겠습니다.
ADODB 연결 개체 및 RecordSet 개체 메서드 목록은 다음과 같습니다.
- 열다: 이 메서드는 데이터베이스 연결 개체 / 레코드 집합 개체를 여는 데 사용됩니다.
- 실행 : 제공된 SQL 쿼리를 실행하는 데 사용됩니다.
- 닫기: 열려있는 데이터베이스 연결 / 레코드 세트를 닫는 데 사용됩니다.
- 취소: 기존 Database Connection 실행을 취소하는 데 사용되는 레코드 셋 방식입니다.
- 복제 : 이것은 레코드 세트 메서드이며 기존 레코드 세트 개체의 복제본을 가져 오는 데 사용됩니다.
- 움직임: 언급 된 개수를 기준으로 레코드 세트 내의 지정된 위치로 포인터를 이동하는 데 사용되는 레코드 세트 메서드입니다.
- 카운트: 이것은 레코드 세트 방법이며 레코드 세트에있는 총 필드 수, 즉 테이블의 총 열 수를 가져 오는 데 사용됩니다.
- 항목 (i) : 이것은 레코드 세트 방법입니다. 레코드 세트에있는 총 필드 수로 인덱스가 지정된 항목을 가져 오는 데 사용됩니다.
이들은 Connection 관련 개체를 처리하는 동안 사용할 다양한 속성 및 메서드입니다.
이러한 개체의 작동을 알기 위해 실제 구현으로 넘어가겠습니다.
최고의 맬웨어 제거 프로그램은 무엇입니까
ADODB 연결 개체를 사용하여 데이터베이스 연결 설정
이 섹션에서는 VBScript의 연결 개체 메커니즘을 사용하여 데이터베이스 연결을 만드는 데 관련된 여러 단계를 살펴 봅니다.
다음은 연결 생성을위한 코드입니다.
Set obj = createobject (“ADODB.Connection”)‘ ADODB 연결 개체 만들기
Set obj1 = createobject (“ADODB.RecordSet”)‘ ADODB 레코드 집합 개체 만들기
Dim dbquery ‘데이터베이스 쿼리 변수 bquery 선언
Dbquery =”이름이 '가혹한'인 dbo.acct에서 acctno를 선택하십시오.” ‘검색어 만들기
obj.Open“Provider = SQLQLEDB; Server =. SQLEXPRESS; UserId = test; Password = P @ 123; Database = AUTODB” ‘연결 열기
obj1. dbquery, obj 열기 ‘레코드 세트를 사용하여 쿼리 실행
val1 = obj1.fields.item (0) '필드 값을 반환합니다.
msgbox val1 ‘필드 항목 0, 즉 1 열의 값 표시
obj.close '연결 개체 닫기
obj1.close '연결 개체 닫기
Set obj1 = Nothing‘ Recordset 개체 해제
Set obj = Nothing‘ 연결 개체 해제
작동 방식을 살펴 보겠습니다.
- 첫째, 연결 목적 'obj'라는 이름의 키워드는 'createobject'키워드를 사용하여 생성되며 Database Connection Object를 생성 할 때 매개 변수에 ADODB Connection이 정의됩니다.
- 그 다음에 Recordset 개체 'obj1'을 사용하여 데이터베이스에서 특정 테이블의 레코드에 액세스하기 위해 생성됩니다. Recordset Object는 데이터베이스에서 레코드에 액세스하는 방법을 제공합니다.
- 그 후, 변수는 질문 데이터베이스에서 레코드를 가져 오는 쿼리를 저장하는‘dbquery’
- 그런 다음 위에서 생성 된 연결 개체는 열림 SQL SERVER, 서버 이름, 데이터베이스 이름, 사용자 ID 및 암호와 같은 공급자에 대한 모든 세부 정보를 제공하여 개체 작업을 시작합니다.
- 쿼리는 실행 쿼리 및 연결 개체를 언급하여 레코드 집합 개체를 연 후.
- 다음으로 acct no의 값을 가져 오는 주요 작업이 수행됩니다. 쿼리에 따라 특정 사람의 필드 acct no가있는 항목의 인덱스를 언급하는 레코드 세트의 이 경우 item (0)과 같은 위치에 있습니다. 그러면 메시지 상자의 도움으로 필드 값이 표시됩니다.
노트 : 필드는 '열'을 나타내고 레코드 세트는 데이터베이스 테이블의 '행'을 나타냅니다.
- 그런 다음 개체는 닫은 작업이 완료되었습니다.
- 마지막으로, 두 객체 – 각각 obj 및 obj1은 출시 ‘Nothing’키워드를 사용하여
노트 : 다음을 사용하여 객체를 해제하는 것이 좋습니다. '개체 이름 설정 = 없음' 마지막에 작업 완료 후.
C ++ 문자를 문자열로 캐스트
우리는 데이터베이스와의 연결을 설정하고 데이터베이스와 QTP의 조합을 사용하여 데이터를 읽고 표시하는 모든 것을 보았습니다.
연결 개체를 사용하는 몇 가지 다른 시나리오를 살펴 보겠습니다.
ADODB 연결 개체를 사용하여 Excel 파일로 데이터 내보내기
이 섹션에서는 VBScript의 연결 개체 메커니즘을 사용하여 데이터베이스에서 Excel 파일로 데이터를 내보내는 데 관련된 여러 단계를 살펴 봅니다.
다음은이 시나리오의 코드입니다.
Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Excel.Application') Set obj3 = obj2.Workbooks.Open ('C:UsersRiya.xlsx') Set obj4 = obj3.Worksheets(1) obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj4.cells(1, 1) = 'Name' obj4.cells(1, 2) = 'Age' row = 2 While obj1.EOF = False obj4.cells(row, 1) = obj1.Fields('Name') obj4.cells(row, 2) = obj1.Fields('Age') obj1.MoveNext row = row+1 Wend obj3.Save obj2.Quit obj1.Close obj.Close Set obj4 = Nothing Set obj3 = Nothing Set obj2 = Nothing Set obj1 = Nothing Set obj = Nothing
작동 방식을 살펴 보겠습니다.
- 첫째, 객체 – 연결 개체, RecordSet 개체 및 Excel 개체 이름이‘obj,‘obj1’및‘obj2’인 각각은‘createobject’키워드를 사용하여 생성됩니다.
- 그런 다음 통합 문서 개체 – 엑셀 파일의 위치를 언급하는‘obj3’이 생성되고 그 후에 워크 시트 데이터를 내 보내야하는 Excel 파일의 시트를 지정하기 위해 개체 (‘obj4’)가 생성됩니다.
- 그런 다음 위에서 생성 된 연결 개체는 열림 개체 작업을 시작하려면 공급자 세부 정보가 언급됩니다.
- 쿼리는 실행 쿼리 및 연결 개체를 언급하여 레코드 집합 개체를 연 후.
- 다음으로, 쿼리에 따라 특정인의 이름과 나이 값을 엑셀 파일에 저장하는 주요 작업을 수행합니다. 필드 데이터베이스의 시트 셀에있는 레코드 세트의 루프는 EOF가 거짓이 아닐 때까지 계속됩니다 (우리는 이미 EOF에 대해 논의했습니다).
- Excel 통합 문서는 저장 .
- Excel 응용 프로그램은 떠나다 작업이 완료되었습니다.
- 그런 다음 개체는 닫은 작업이 완료되었습니다.
- 마지막으로 모든 개체는 출시 ‘Nothing’키워드를 사용하여
ADODB 연결 개체를 사용하여 데이터를 텍스트 파일로 내보내기
이 섹션에서는 VBScript의 연결 개체 메커니즘을 사용하여 데이터베이스에서 텍스트 파일로 데이터를 내보내는 여러 단계를 살펴 봅니다.
다음은이 시나리오의 코드입니다.
Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Scripting.FileSystemObject') Set obj3 = obj2.OpenTextFile('C:UsersRiya.xlsx') obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj3.WriteLine 'Name Age' obj3.WriteLine '------' While obj1.EOF = False obj3.WriteLine obj1.Fields('Name') & “ “ & obj1.Fields('Age') obj1.MoveNext Wend obj3.Close Set obj3 = Nothing Set obj2 = Nothing obj1.Close obj.Close Set obj1 = Nothing Set obj = Nothing
작동 방식을 살펴 보겠습니다.
- 첫째, 객체 – 연결 개체, RecordSet 개체 및 파일 개체 이름이‘obj,‘obj1’및‘obj2’인 각각은‘createobject’키워드를 사용하여 생성됩니다.
- 그런 다음 파일 객체가 열립니다. 위치 데이터를 내 보내야하는 텍스트 파일의.
- 그런 다음 위에서 생성 된 연결 개체는 열림 개체 작업을 시작하려면 공급자 세부 정보가 언급됩니다.
- 쿼리는 실행 쿼리 및 연결 개체를 언급하여 레코드 집합 개체를 연 후.
- 그런 다음 이름과 나이는 쓰기 파일 시스템 개체의 메서드.
- 다음으로, 특정 사람의 텍스트 파일에 이름과 나이 값을 쓰는 주요 작업이 수행됩니다. 필드 데이터베이스의 시트 셀에있는 레코드 세트의 루프는 EOF가 거짓이 아닐 때까지 계속됩니다 (우리는 이미 EOF에 대해 논의했습니다).
- 그러면 File 객체는 닫은 파일 관련 개체가 해제됩니다.
- 그런 다음 개체는 닫은 작업이 완료되었습니다.
- 마지막으로 연결 개체와 레코드 집합 개체는 출시 'Nothing'키워드를 사용하여
이것들은 개념의 적절한 이해에 중요한 몇 가지 주요 시나리오입니다. 스크립트에서 연결 개체를 처리하는 동안 다양한 유형의 시나리오를 처리하기위한 코드를 작업하고 처리하는 기반을 형성합니다.
이제 간단한 예제를 통해 이러한 시나리오의 구현을 이해하겠습니다.
예:
Let’s see implementation of Exporting data in files Function Exporttoexcelfile() ‘Function for exporting data to excel file Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Excel.Application') Set obj3 = obj2.Workbooks.Open ('C:UsersRiya.xlsx') Set obj4 = obj3.Worksheets(1) obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj4.cells(1, 1) = 'Name' obj4.cells(1, 2) = 'Age' row = 2 If obj1.EOF = True Then Msgbox “No records found on the table!!” End If While obj1.EOF = False obj4.cells(row, 1) = obj1.Fields('Name') obj4.cells(row, 2) = obj1.Fields('Age') obj1.MoveNext row = row+1 Wend obj3.Save obj2.Quit obj1.Close obj.Close Set obj4 = Nothing Set obj3 = Nothing Set obj2 = Nothing Set obj1 = Nothing Set obj = Nothing End Function Function Exporttotextfile() ‘Function for exporting data to text file Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Scripting.FileSystemObject') Set obj3 = obj2.OpenTextFile('C:UsersRiya.xlsx') obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj3.WriteLine 'Name Age' obj3.WriteLine '------' If obj1.EOF = True Then Msgbox “No records found on the table!!” End If While obj1.EOF = False obj3.WriteLine obj1.Fields('Name') & “ “ & obj1.Fields('Age') obj1.MoveNext Wend obj3.Close Set obj3 = Nothing Set obj2 = Nothing obj1.Close obj.Close Set obj1 = Nothing Set obj = Nothing End Function Call Exporttoexcelfile() ‘Calling Function for exporting data to excel file Call Exporttotextfile() ‘Calling Function for exporting data to text file
노트 : 의 출력을 위해 예 , 파일 위치로 이동하여 각 파일에서 데이터를 내보내는 지 여부를 확인할 수 있습니다.
결론
지금 쯤이면 사용의 중요성과 효과에 대한 지식을 얻었을 것입니다. VBS ADODB 연결 개체 .
다음 튜토리얼 # 13 : 다음 튜토리얼에서‘파일 시스템 객체’를 다룰 것입니다.
계속 지켜봐 주시고 Connection 개체 작업 경험을 공유하고이 자습서에 대한 질문이 있으면 알려주십시오.
추천 도서
- VBScript Excel 개체 작업
- VBScript 파일 개체 : CopyFile, DeleteFile, OpenTextFile, 읽기 및 쓰기 텍스트 파일
- QTP 튜토리얼 # 7-QTP의 객체 식별 패러다임 – QTP가 객체를 고유하게 식별하는 방법은 무엇입니까?
- QTP의 개체 저장소-자습서 # 22
- VBScript 오류 처리 : VBScript On Error, On Error GoTo 0, On Error Resume Next
- VBScript 조건문 : VBScript If, ElseIf, Select Case
- VBScript 자습서 : 처음부터 VBScript 배우기 (15 개 이상의 심층 자습서)
- C ++의 클래스와 객체