VBScript에서 STORED PROCEDURE 사용하기

티스토리 메뉴 펼치기 댓글수0

배움/VBScript

VBScript에서 STORED PROCEDURE 사용하기

기차나
댓글수0
모두 아시다시피, VBScript에서는 Data Type이 존재하지 않습니다.
기본적으로 모든 Data는 [Variant] Type입니다.
VBA와도 조금 다르네요...

하지만, 대다수의 Class들은 "CreateObject" 키워드를 통해 사용은 가능합니다.

Dim obj
Set obj = CreateObject("ADODB.Recordset")

하지만, DB를 핸들링하는 데 많이 사용하는 ADODB.Command는 사용이 불가능합니다.

그래서, ADODB.Recordset를 통해야 하는 데요.
String(문자열)로 Query를 작성하는 데서, 꽤나 애를 먹었습니다.

그래서 정리했습니다 ^^;

Dim strQuery
Dim objRs
‘ EXECUTE가 아닌 ‘EXEC’를 사용한다. 'EXECUTE'를 사용하면 아니 아니 아니됩니다~~
strQuery = "EXEC " & STORED_PROC_NAME
‘ Number(Int, Float)등의 변수는 그냥 문자열로 변환 후에 할당해주면 됩니다.
strQuery = strQuery & " @PARAM1 = " & INT_VALUE
‘ 하지만 STRING 변수는 따옴표(‘)로 묶어주며, 다수의 변수를 요구하는 SP의 경우, 쉼표(,)로 구분하면 됩니다.
strQuery = strQuery & ", @PARAM2 = '" & STR_VALUE & "'"

Set objRs = CreateObject("ADODB.Recordset")
' 찾다가 찾다가 가장 승질 뻗친 부분인데요, 옵션을 아무것도 넣어주면 안됩니다. Default로 된 것을 넣어줘도 안되었던 기억이 있네요.
' 그냥 아무 옵션을 걸지말고 해야합니다.
objRs.Open strQuery, dbConn
Set objRs = Nothing

위에 주석으로 설명을 했습니다. ^^;

이것 때문에 한참을 고생했드랬습니다.

VBScript는 다뤄보질 않아서, 그냥 VBA와 비슷하겠거니라고 하고, 뎀볐는 데.... 이상한 곳에서 많이 막혔었네요;;

테스트 환경도 없고, 디버깅....은 어찌하는 지 몰라서, 그냥 VBA에 대놓고 코딩을 했었거든요.
몇 가지 차이점만 주의하면, VBA에서 코딩하고 테스팅해서 올리면 바로 되긴 합니다. ^^

조만간 VBScript를 작성하며, 생긴 노하우에 대해서 포스팅해보겠습니다.ㅎㅎ


덧.
아..이 개발은 웹이 베이스가 아니었습니다.
MS-SQL SERVER에 DTS(Data Transfer Service)라고 있는 데, 여기에 들어갈 서비스를 수정하는 것을 맡았었거든요.
웹이 베이스라면, 무언가를 뿌려보고 해서(C에서의 printf와 같이....) 수행 단계를 확인이나마 할 수 있었을 텐데요;;
모 별 수 없이. DB Table에 Step 데이터를 뿌려서, 그걸 확인하며 했었네요;;
여튼 이 부분은 곧! 정리해서 포스팅 하겠습니다.
맨위로

https://jwoojeong.tistory.com/entry/VBScript%EC%97%90%EC%84%9C-STORED-PROCEDURE-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

신고하기