Potrzebuję BCP tabeli w pliku rozdzielanym tabulatorami, ale potrzebuję nazw kolumn w pierwszym rekordzie tabeli. Pytanie 1: Czy mam rację, że BCP nie ma do tego przełącznika? Pytanie 2: Jeśli nie, dlaczego?Uzyskiwanie nazw kolumn z zapytaniem BCP
Starałem się wykonać następujące czynności:
BCP "declare @colnames varchar(max); select @colnames=coalesce (@colnames+char(9), '')
+ Column_Name from db.information_Schema.columns where table_name='table1' order by
ordinal_position; select @colnames" queryout Table1_Columns.tsv -S?? -U?? -P?? -f** -e**
Plik formatu wygląda następująco:
9.0
1
1 SQLCHAR 0 100 "\r\n" 1 Column_Names SQL_Latin1_General_CP1_CI_AS
To dostaje mi plik z nazwami kolumn, a potem drugie polecenie BCP robi mi się plik danych, a ja po prostu kopiuję DOS razem. Pytanie 3: Czy jestem sprytny czy co? Pytanie 4: Dlaczego to nie działa? I pojawia się błąd:
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Native Client]Host-file columns may be skipped only when
copying into the Server
Pierwsza linia nie działa dla mnie: '" SETTINGS_ID "nie jest rozpoznawaną opcją". Jakaś wskazówka? –
Musisz zastąpić go własnymi nagłówkami kolumn. –
w jaki sposób można użyć polecenia kopiowania z lokalizacją jako parametrem? Przykład: 'EXEC master..xp_cmdshell 'copy/b"' + @OutputLocationHeader + '"+"' + @OutputLocationData + '"' '+ @OutputLocation +'" '' daje mi błąd przy pierwszym '+ 'znak – Stephanie