Я новичок в этой функции в SQL Server и могу воспользоваться некоторой помощью. Я экспериментирую с утилитой BCP
и базой данных AdventureWorks2012
.Утилита bcp SQL Server не создает файл txt,
Я пытаюсь экспортировать данные в текстовый файл с помощью утилиты BCP, и код выполняется, но файл не создается. Не могли бы вы посмотреть мой код и рассказать мне, где проблема?
Я работаю над локальной копией SQL Server Express. Спасибо.
Declare @sql Varchar(8000)
Select @sql = 'bcp
+ SELECT FirstName, LastName
FROM AdventureWorks2012.Person.Person ORDER BY LastName, Firstname
+ queryout C:\Users\David\Desktop\yes.txt + -c -t, -T -S'
+ @@SERVERNAME
EXEC master..xp_cmdshell @sql
Вот мой выходной, когда я запускаю запрос:
output
usage: bcp {dbtable | query} {in | out | queryout | format} datafile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F firstrow] [-L lastrow] [-b batchsize]
[-n native type] [-c character type] [-w wide character type]
[-N keep non-text native] [-V file format version] [-q quoted identifier]
[-C code page specifier] [-t field terminator] [-r row terminator]
[-i inputfile] [-o outfile] [-a packetsize]
[-S server name] [-U username] [-P password]
[-T trusted connection] [-v version] [-R regional enable]
[-k keep null values] [-E keep identity values]
[-h "load hints"] [-x generate xml format file]
[-d database name] [-K application intent] [-l login timeout]
NULL
Вот выход PRINT:
bcp
+ "SELECT FirstName, LastName
FROM AdventureWorks2012.Person.Person ORDER BY LastName, Firstname"
+ queryout C:\Users\David\Desktop\yes.txt -c -t, -T -SHOMEPC\SQLINST01
код TT работал. Вот он:
DECLARE @stmt_e VARCHAR(8000);
SET @stmt_e=
'BCP '+
'"SELECT FirstName,LastName FROM AdventureWorks2012.Person.Person ORDER BY LastName,Firstname" '+
'QUERYOUT "C:\Users\David\Desktop\yes.csv" '+
'-c -t, -T -S ' + @@SERVERNAME;
EXEC master.sys.xp_cmdshell @stmt_e;
Инструкции по добавлению системных разрешений для доступа к базе данных доступны по ссылке ниже. Я должен был сделать это, потому что у моего экземпляра SQL Server не было разрешения писать путь, который я указывал.
https://msdn.microsoft.com/en-us/library/jj219062.aspx
добавить «» в ваш запрос на выборку это будет работать .... –
+ символ '' не имеет места в 'bcp' командной строки. Выведите их. –