长变量写入文件

时间:2010-11-05 14:55:00

标签: vbscript long-integer

我有一个连接到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

1 个答案:

答案 0 :(得分:1)

@Ruslan:确保文件首先存在(它可以只是一个空白文本文件),我建议你也用

更新你的功能
Dim arr(50), fso, sFolder, NewFile, ll, txt, i

并在文件顶部添加Option Explicit