Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как создать и сохранить в файле строку с пробелами? / 4 сообщений из 4, страница 1 из 1
15.07.2002, 18:25:07
    #32036781
Sashok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать и сохранить в файле строку с пробелами?
Мне надо загружать в майнфрейм файл, который содержит строки с пробелами.
Если выполним нижеследующий код, то получаем строку нужной длинны:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @file_name varchar( 255 ),@text varchar( 8000 ),

@FS int, 
@OLEResult int, 
@FileID int, 
@hr int,
@source varchar( 30 ), 
@desc varchar ( 200 )


set @file_name ='D:\nas\data\test\test.txt'
set @text='line#1'+space( 4 )

print @text


Если то же значение сохраняем в файл (код г-на Glory), то последние 4 пробела теряются. Как побороть? Спасибо.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
EXECUTE @OLEResult = sp_OACreate 'Scripting.FileSystemObject', @FS OUTPUT

IF @OLEResult <>  0  
BEGIN
GOTO OLE_Error_Handler
END

execute @OLEResult = sp_OAMethod @FS,'CreateTextFile',@FileID OUTPUT, @file_name
IF @OLEResult <>  0  
BEGIN
GOTO OLE_Error_Handler
END

execute @OLEResult = sp_OAMethod @FileID, 'WriteLine', NULL, @text
IF @OLEResult <>  0  
BEGIN
GOTO OLE_Error_Handler
END

EXECUTE @OLEResult = sp_OADestroy @FileID
EXECUTE @OLEResult = sp_OADestroy @FS

goto Done


OLE_Error_Handler: 
PRINT '*** ERROR ***'
EXEC @hr = sp_OAGetErrorInfo null, @source OUT, @desc OUT
SELECT hr = CONVERT (binary( 4 ), @hr), source = @source, description = @desc


Done:
EXECUTE @OLEResult = sp_OADestroy @FileID
EXECUTE @OLEResult = sp_OADestroy @FS
print 'done'

GO
...
Рейтинг: 0 / 0
15.07.2002, 18:44:43
    #32036784
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать и сохранить в файле строку с пробелами?
Хм, интересно

Вот так работает

Код: plaintext
1.
set @text='line#1' + space( 4 ) + char( 0 )
...
Рейтинг: 0 / 0
15.07.2002, 18:45:56
    #32036786
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать и сохранить в файле строку с пробелами?
Кстати, а вы уверены, что вам нужно использовать COM объекты ?
Неужели DTS совсем не подходит ?
...
Рейтинг: 0 / 0
15.07.2002, 18:56:24
    #32036790
Sashok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать и сохранить в файле строку с пробелами?
Спасибо. Похоже, то что надо. Загружу в систему и проверю.
DTS? Надо подумать.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как создать и сохранить в файле строку с пробелами? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]