我有一个连接到db2的vbscript和recset获取long varchar 18000(包含xml消息)。 问题是vbscript中的变量长度只有250。 好的,我已将recset分为每个字符串的数组(50)250个字符。 然后,当我尝试将第一个字符串从数组传递给文件时,它会抛出错误。 因为在array(0)字符串中有很多引号。如何将结果保存到文件?
sql = "select message_data from messages where MESSAGE_ID = '5461654648464'"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = "Provider=ibmdadb2; DSN=TEST; UID=user; PWD=password"
objConnection.Open
Set recset = CreateObject("ADODB.Recordset")
recset.Open sql,objConnection
if recset.EOF then WScript.Echo "No found" else splt recset("message_data") end if
recset.Close
objConnection.Close
function splt (strg)
dim arr(50)
Set fso = CreateObject("Scripting.FileSystemObject")
sFolder = "C:\jdk1.3\temp\arch"
Set NewFile = fso.CreateTextFile(sFolder&"\file.txt", True)
if len(strg) > 250 then ll = round(len(strg)/250, 0) + 1
for i = 0 to ll
arr(i) = left(right(strg, abs(Cint(len(strg))-250*i)), 250)
txt = arr(i)
NewFile.Write txt
next
NewFile.Close
End function
答案 0 :(得分:1)
@Ruslan:确保文件首先存在(它可以只是一个空白文本文件),我建议你也用
更新你的功能Dim arr(50), fso, sFolder, NewFile, ll, txt, i
并在文件顶部添加Option Explicit
。