Длинная переменная запись в файл - PullRequest
0 голосов
/ 05 ноября 2010

У меня есть vbscript, который подключается к db2, а 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 Ответ

1 голос
/ 05 ноября 2010

@ Руслан: Убедитесь, что файл существует первым (это может быть просто текстовый файл), и я бы посоветовал вам также обновить вашу функцию с помощью

Dim arr(50), fso, sFolder, NewFile, ll, txt, i

и добавить Option Explicit прямо вверхняя часть файла, а также.

...