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

Откуда: г. Владимир
Сообщений: 522
Экспорт в XML:

DECLARE @cmd nvarchar(1000)   
DECLARE  @A integer 
set @cmd='bcp "select * from ps.dbo.tSP_NAPR FOR XML AUTO" queryout C:\SP_NAPR.xml -w -C1251 -S SCHWANBOOK\SQL2005 -U sa -P 2011' 
EXEC @A = master..xp_cmdshell @cmd

Полученный файл SP_NAPR.xml:

<ps.dbo.tSP_NAPR ID_NAPR="1" NAME_NAPR="FIO" DOLG_NAPR="DOLG" EXT="0"/>

Создание файла форматирования:

DECLARE @cmd nvarchar(1000)   
DECLARE  @A integer 
set @cmd='bcp ps.dbo.tSP_NAPR format nul -f C:\SP_NAPR.fmt -w -C1251 -S SCHWANBOOK\SQL2005 -U sa -P 2011 '
EXEC @A = master..xp_cmdshell @cmd

Полученный SP_NAPR.fmt:

8.0
4
1       SQLNCHAR      0       24      "\t\0"                    1     ID_NAPR       ""
2       SQLNCHAR      0       140     "\t\0"                    2     NAME_NAPR     Cyrillic_General_CI_AS
3       SQLNCHAR      0       200     "\t\0"                    3     DOLG_NAPR     Cyrillic_General_CI_AS
4       SQLNCHAR      0       6       "\r\0\n\0"                4     EXT           ""

Попытка загрузить данные из SP_NAPR.xml:

DECLARE @cmd nvarchar(1000)   
DECLARE  @A integer
set @cmd='bcp "ps.dbo.tSP_NAPR" in "C:\SP_NAPR.xml" -f C:\SP_NAPR.fmt -C1251 -Usa -P2011 -SSCHWANBOOK\SQL2005 '
EXEC @A = master..xp_cmdshell @cmd

Error = [Microsoft][ODBC SQL Server Driver]Обнаружен непредвиденный символ конца файла в файле данных BCP

Помогите - что я не так делаю?
11 окт 11, 22:54    [11423744]     Ответить | Цитировать Сообщить модератору
 Re: bcp xml  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Schwan
что я не так делаю?
Всё!

Что получится если от трёх груш отнять два яблока?
Я понимаю, что привыкли по старинке "пихать" кубик в круглое отверстие команды лишь бы абы как.
Лучше думаю понимать что каждая из них делает, как и почему нужно указывать именно эти параметры.
Поймите для чего применяются директивы in / out / format / queryout и что каждая из них делает.

А заодно, для общего развития, про оператор Type в FOR XML и компонент XmlBulkLoad, хотя это темы касается косвенно.
12 окт 11, 23:32    [11430493]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить