Экспорт таблицы времени выполнения внутри процедуры хранилища в файл SQL Server 2008 - PullRequest
0 голосов
/ 27 февраля 2011

Как экспортировать таблицу в файл до того, как он будет удален процедурой хранения, я выполняю следующий код ( из @ Adam ):

SET @table_name = 'DYNAMIC_GENERATED_TABLE'
SET @query      = 'select * from ' + @table_name
SET @saveas     = 'c:/sqlTest/QueryOutput.txt'
SET @bcpdelim   = '|'
SET @bcpconn    = '-T' -- Trusted


SET @bcpquery = 'bcp "' + replace(@query, char(10), '') + '" QUERYOUT "' + @saveas + '" -c -t^' + @bcpdelim + ' ' + @bcpconn + ' -S ' + @@servername
EXEC master..xp_cmdshell @bcpquery  

Так как таблица 'DYNAMIC_GENERATED_TABLE' генерируется внутри процедуры сохранения, я получаю ошибку:

SQLState = S0002, NativeError = 208
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid object name 'DYNAMIC_GENERATED_TABLE'.
SQLState = 37000, NativeError = 8180
Error = [Microsoft][SQL Server Native Client 10.0][SQL Server]Statement(s) could not be prepared.
NULL

Если я выполню код для таблицы, которая у меня уже есть, ошибок нет.

Как это исправить

Ответы [ 3 ]

1 голос
/ 27 февраля 2011

Попробуйте BCP через xp_cmdshell

http://www.simple -talk.com / SQL / базы данных управления / создания-CSV-файлы, используя-BCP-и-предоплаченных процедур /

Пример с сайта выше:

declare @sql varchar(8000)
select @sql = 'bcp master..sysobjects out
                c:\bcp\sysobjects.txt -c -t, -T -S'+ @@servername
exec master..xp_cmdshell @sql
0 голосов
/ 07 сентября 2011

SQLState = 37000, NativeError = 156 Ошибка = [Microsoft] [Собственный клиент SQL] [SQL Server] Неверный синтаксис рядом с ключевым словом «где». NULL

я использую команду bcp, получая эту ошибку

из моего 1-го процесса, где определен bcp, я вызываю другой процесс str в bcp. Но если я запускаю этот другой процесс str с помощью EXEC, он работает нормально. В чем будет проблема?

0 голосов
/ 27 февраля 2011

Кажется создание глобального стола

'DYNAMIC_GENERATED_TABLE' -> '##DYNAMIC_GENERATED_TABLE'

делает трюк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...