Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Eksportuj tabelę do pliku z nagłówkami kolumn (nazwami kolumn) za pomocą narzędzia bcp i SQL Server 2008

Ta metoda automatycznie wyprowadza nazwy kolumn z danymi wiersza za pomocą BCP.

Skrypt zapisuje jeden plik dla nagłówków kolumn (odczyt z INFORMATION_SCHEMA.COLUMNS table), a następnie dołącza kolejny plik z danymi tabeli.

Ostateczne wyjście jest łączone w TableData.csv który ma nagłówki i dane wiersza. Po prostu zastąp zmienne środowiskowe u góry, aby określić nazwę serwera, bazy danych i tabeli.

set BCP_EXPORT_SERVER=put_my_server_name_here
set BCP_EXPORT_DB=put_my_db_name_here
set BCP_EXPORT_TABLE=put_my_table_name_here

BCP "DECLARE @colnames VARCHAR(max);SELECT @colnames = COALESCE(@colnames + ',', '') + column_name from %BCP_EXPORT_DB%.INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='%BCP_EXPORT_TABLE%'; select @colnames;" queryout HeadersOnly.csv -c -T -S%BCP_EXPORT_SERVER%

BCP %BCP_EXPORT_DB%.dbo.%BCP_EXPORT_TABLE% out TableDataWithoutHeaders.csv -c -t, -T -S%BCP_EXPORT_SERVER%

set BCP_EXPORT_SERVER=
set BCP_EXPORT_DB=
set BCP_EXPORT_TABLE=

copy /b HeadersOnly.csv+TableDataWithoutHeaders.csv TableData.csv

del HeadersOnly.csv
del TableDataWithoutHeaders.csv

Pamiętaj, że jeśli musisz podać dane uwierzytelniające, zastąp opcję -T opcją -U moja_nazwa użytkownika -P moje_hasło

Ta metoda ma tę zaletę, że nazwy kolumn są zawsze zsynchronizowane z tabelą przy użyciu INFORMATION_SCHEMA.COLUMNS . Minusem jest to, że tworzy pliki tymczasowe. Microsoft powinien naprawdę naprawić narzędzie bcp, aby to obsługiwać.

To rozwiązanie wykorzystuje sztuczkę łączenia wierszy SQL z tego miejsca w połączeniu z pomysłami bcp z tego miejsca



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowywanie danych UTF-16/Unicode w SQL Server

  2. Zaktualizuj wartość klucza podstawowego za pomocą struktury encji

  3. podziel alfa i numeryczne za pomocą sql

  4. Ostatnio wykonane zapytania dla określonej bazy danych

  5. SYSUTCDATETIME() Przykłady w SQL Server (T-SQL)