asp소스구요.
strConnect="Provider=IBMDADB2.1;User ID=db2admin;Data Source=sample;"
=========================
strseq = "1"
strdate = "20030312151537"
Dim Db, Rs, cmd, prCLOB, doc_value, idate, iseq
Set Db = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = strConnect
cmd.CommandType = 4
cmd.CommandText = "{ call getdoc(?,?) }"
' cmd.CommandText = "db2admin.getdoc"
' cmd.Parameters.Append
set idate = cmd.CreateParameter("i_date",adChar,adParamInput,14,strdate)
set iseq = cmd.CreateParameter("i_seq",adInteger,adParamInput,4,strseq)
cmd.Parameters.Append idate
cmd.Parameters.Append iseq
Set prCLOB = cmd.CreateParameter("o_doc", adLongVarWChar,adParamOutput,10000)
cmd.Parameters.Append prCLOB
' cmd.Properties("SPPrmsLOB") = true 'OLE 프로바이더쪽에서 제공하는 LOB형태를 true로 만드는 것
cmd.CommandTimeout = 15
cmd.Execute
doc_value = cmd.Parameters("o_doc")
Set cmd.ActiveConnection = nothing
=======================
CREATE PROCEDURE GETDOC(
IN I_DATE VARCHAR(14),
IN I_SEQ INTEGER,
OUT O_DOC VARCHAR(4000))
RESULT SETS 1
LANGUAGE SQL
P1:BEGIN
DECLARE CURSOR1 CURSOR WITH RETURN TO CLIENT
FOR SELECT DOC_VALUE1 FROM T_VALUE
WHERE RES_DATE = I_DATE
AND RES_SEQ = I_SEQ;
OPEN CURSOR1;
END P1
오류 형식:
IBM OLE DB Provider for DB2 Servers (0x80004005)
CLI0118E SQL 구문이 유효하지 않습니다. SQLSTATE=37000
line 36->cmd.Excute에서 납니다.
도와주세요. 각 사이트 돌아댕겨 문서 겨우 찾아서 테스트햇는데
여기서 막히네요.
cmd.Properties("SPPrmsLOB") = true 이부분이 db2에서 제공하는 oledbd에서 지원안해주면 clob 못쓰는건가요?
프로시저에서는 값을 불러옵니다.
|