powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как создать и сохранить в файле строку с пробелами?
4 сообщений из 4, страница 1 из 1
Как создать и сохранить в файле строку с пробелами?
    #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
Как создать и сохранить в файле строку с пробелами?
    #32036784
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, интересно

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

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


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