2013-01-11 1 views
0

DB2 데이터베이스의 테이블에서 XML 열을 검색하려고합니다. 데이터가 XML 데이터 타입 인QTP에서 VBScript의 db2 데이터베이스에서 xml 열을 검색하는 방법

query = "some query" 
strConn = "my connection string" 
set dbConn = CreateObject("ADODB.Connection") 
set rs = CreateObject("ADODB.RecordSet") 
dbConn.Open strConn 
rs.Open query, dbConn 

rs.MoveFirst 
While Not rs.EOF 
data = rs.Fields(0) 
rs.MoveNext 
Wend 
dbConn.Close 

라인 "데이터 =의 rs.Fields (0)"아래의 코드를 사용하여, I 데이터 형으로서 XML을 갖고 있지 않는 임의의 항목을 검색 할 수있다 "지정되지 않은 오류"가 발생합니다. (가) 라인 저장 실행시

Set xDOM = CreateObject("Microsoft.XMLDOM") 
rs.Save xDOM, adPersistXML 

는하지만 여전히 작동하지 않습니다, QTP는 "지정되지 않은 오류"가 발생합니다 : 나는 레코드는 XML 객체를 반환하기 때문에, 나는이 같은 DOM 객체에 할당해야합니다 생각했다.

나는 인터넷 검색을 시도했지만 도움이 될만한 것을 찾지 못했습니다. 이 일을 성공적으로 해낸 사람이 있습니까?

내 질문을 읽어 주셔서 감사합니다.

답변

0

DB2 - .NET datatypes에 따르면 DB2Xml은 Byte()/Blob에 매핑됩니다. 그래서 아마도 당신은 게이츠 deals with pictures, 예컨대 :

Set cn = New ADODB.Connection ---> CreateObject("ADODB.Connection") 
cn.Open "DB2 Connection String" 

Set rs = New ADODB.Recordset ---> CreateObject("ADODB.Recordset") 
rs.Open "Your SQL", cn, adOpenKeyset, adLockOptimistic ---> Const defines needed 

Set mstream = New ADODB.Stream ---> CreateObject("ADODB.Stream") 
mstream.Type = adTypeBinary ---> Const define needed 
mstream.Open 
mstream.Write rs.Fields("Your XML field").Value 
mstream.SaveToFile "fullfilespec.xml", adSaveCreateOverWrite ---> Const define needed 

rs.Close 
cn.Close 

(분명히 안된 aircode)

P.S. 같은 XML 필드를 처리 할 수 rs.Save xDOM, adPersistXML은 완전히 잘못되었습니다. .Save는 전체 레코드 세트를 첫 번째 매개 변수로 지정된 파일에 저장합니다.

관련 문제