VBScript ADO 프로그래밍
ADO 프로젝트 만들기
Microsoft Visual Basic, Scripting Edition은 형식 라이브러리를 지원하지 않으므로 프로젝트에서 ADO를 참조할 필요가 없습니다. 따라서 명령줄 완성과 같은 연결된 기능은 지원되지 않습니다. 또한 기본적으로 ADO 열거형 상수는 VBScript에서 정의되지 않습니다.
그러나 ADO는 VBScript에서 사용할 다음 정의를 포함하는 두 개의 포함 파일을 제공합니다.
서버 쪽 스크립팅의 경우 기본적으로 c:\Program Files\Common Files\System\ado\ 폴더에 설치된 Adovbs.inc를 사용합니다.
클라이언트 쪽 스크립팅의 경우 기본적으로 c:\Program Files\Common Files\System\msdac\ 폴더에 설치된 Adcvbs.inc를 사용합니다.
이들 파일의 상수 정의를 복사하여 ASP 페이지에 붙여넣거나, 서버 쪽 스크립팅을 수행하는 경우 Adovbs.inc 파일을 웹 사이트의 폴더에 복사하고 ASP 페이지에서 다음과 같이 참조할 수 있습니다.
<!--#include File="adovbs.inc"-->
VBScript에서 ADO 개체 만들기
Dim 문을 사용하여 VBScript의 특정 형식에 개체를 할당할 수 없습니다. 또한 VBScript는 Visual Basic for Applications에서 Dim 문과 함께 사용되는 New 구문을 지원하지 않습니다. 대신 CreateObject 함수 호출을 사용해야 합니다.
Dim Rs1
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
VBScript 예제
다음 코드는 ASP(Active Server Page) 파일에서 VBScript 서버 쪽 프로그래밍의 일반적인 예제입니다.
<% @LANGUAGE="VBSCRIPT" %>
<% Option Explicit %>
<!--#include File="adovbs.inc"-->
<HTML>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<!-- Your ASP Code goes here -->
<%
Dim Source
Dim Connect
Dim Rs1
Source = "SELECT * FROM Authors"
Connect = "Provider=sqloledb;Data Source=srv;" & _
"Initial Catalog=Pubs;Integrated Security=SSPI;"
Set Rs1 = Server.CreateObject( "ADODB.Recordset" )
Rs1.Open Source, Connect, adOpenForwardOnly
Response.Write("Success!")
%>
</BODY>
</HTML>
보다 구체적인 VBScript 예제는 ADO 설명서에 포함되어 있습니다. 자세한 내용은 Microsoft Visual Basic Scripting Edition의 ADO 코드 예제를 참조하세요.
VBScript와 Visual Basic 간의 차이점
VBScript에서 ADO를 사용하는 것은 구문 사용 방법을 포함하여 여러 가지 방법으로 Visual Basic에서 ADO를 사용하는 것과 비슷합니다. 그러나 몇 가지 중요한 차이점이 있습니다.
VBScript는 다양한 형식의 데이터를 보유할 수 있는 Variant 데이터 형식만 지원합니다. 필요한 데이터를 Variant 데이터 형식에 저장할 수 있으며 VBScript에서 수행된 캐스팅으로 인해 데이터가 적절하게 작동합니다. ADO에 필요한 형식을 인식하고 이에 따라 Variant의 값을 변환합니다.
VBScript 내에서 on error goto <레이블>을 사용할 수 없습니다.
VBScript는 Msgbox, Date 및 IsNumeric과 같은 기본 제공 Visual Basic 함수 중 일부를 지원합니다. 그러나 VBScript는 Visual Basic의 하위 집합이므로 모든 기본 제공 함수가 지원되지는 않습니다. 예를 들어 VBScript는 Format 함수 및 파일 I/O 함수를 지원하지 않습니다.