Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
vi0
Member

Откуда:
Сообщений: 296
Есть текстовый файл размером ~1МБ

При копировании его таким способом он искажается. Появляются символы NUL ???? ближе к началу файла

SET @Path='xcopy ' + @Catalogue + ' /s /e /y /Z'
EXEC @Result=MASTER.dbo.xp_cmdshell @Path

Не возникает ошибок в слудующих случаях
- если таким же способом копировать файл размером <=0.5 МБ
- если таким же способом копировать файл без ключа /Z
(или если копировать файл через командную строку в Windows)


Сталкивался кто-нибудь с подобным, как лечили?

Microsoft Windows [Version 6.0.6002]
MS SQL 2008 R2
31 мар 14, 16:54    [15812411]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
aleks2
Guest
C:\>xcopy /?

/Z Копирует сетевые файлы с возобновлением.

Дык, шобы "возобновить" - надож доп. информацию где-то хранить. Вот оно, наверное, и хранит.
Ты возобновить то попробуй.

/z = This option allows the xcopy command to safely stop copying files when a network connection is lost and then resume copying from where it left off once the connection is reestablished. This option also shows the percentage copied for each file during the copy process.


Проведи эксперимент с выниманием сетевого провода во время копирования.
1 апр 14, 05:23    [15814139]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
vi0
Member

Откуда:
Сообщений: 296
aleks2,
интересно, что этого не происходит, если файл копировать в коммандной строке Windows
1 апр 14, 08:56    [15814257]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
vi0
Member

Откуда:
Сообщений: 296
в первую строку добавляются нули
вверху скриншот копируемого файла
внизу то что получается с первой строкой после копирования
1 апр 14, 09:22    [15814341]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
aleks2
Guest
vi0
aleks2,
интересно, что этого не происходит, если файл копировать в коммандной строке Windows

"Это" должно происходить только при прерывании копирования.

"Возобновить" пробовал?
1 апр 14, 09:22    [15814343]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
vi0
Member

Откуда:
Сообщений: 296
+

К сообщению приложен файл. Размер - 142Kb
1 апр 14, 09:23    [15814351]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
vi0
Member

Откуда:
Сообщений: 296
aleks2
"Это" должно происходить только при прерывании копирования.

"Возобновить" пробовал?
копирование происходит мнгновенно и полностью, т.е. полученны файл сохраняет размер
1 апр 14, 09:25    [15814355]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
Glory
Member

Откуда:
Сообщений: 104751
vi0
Не возникает ошибок в слудующих случаях

А код возврата утилиты вы как проверяете ?
1 апр 14, 09:29    [15814375]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
vi0
Member

Откуда:
Сообщений: 296
Glory
А код возврата утилиты вы как проверяете ?

IF @Result<>0 
RAISERROR ('Ошибка, 16, 1)

но здесь ошибки не возникает
1 апр 14, 09:55    [15814495]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
Glory
Member

Откуда:
Сообщений: 104751
vi0
IF @Result<>0 
RAISERROR ('Ошибка, 16, 1)


но здесь ошибки не возникает

Ммм. Это код завершения xp_cmdshell
1 апр 14, 10:02    [15814550]     Ответить | Цитировать Сообщить модератору
 Re: параметр /Z у команды xcopy портит файл при запуске из xp_cmdshell  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
Glory
Это код завершения xp_cmdshell
xp_cmdshell возвращает код завершения запускаемой инструкции.
1 апр 14, 10:15    [15814645]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить