Fișierul format conține informațiile de formatare pentru fiecare câmp din fișierul de date în raport cu tabelul specificat. Fișierul format conține toate datele de care aveți nevoie pentru a efectua exportul în vrac sau importul de date. Acesta oferă un nivel de flexibilitate care necesită redimensionare redusă sau nicio modificare a fișierelor de date pentru a se potrivi cu alte formate de date sau pentru a citi datele pregătite de alte programe.
Toate fișierele de formatare conțin descrieri ale câmpurilor câmpurilor de date. Formatele de fișiere XML conțin, de asemenea, descrieri ale coloanelor corespunzătoare din tabel. De obicei, fișierele XML și fișierele de formatare nu sunt interschimbabile în format XML. Cu toate acestea, se recomandă utilizarea sintaxei XML a fișierelor noi de formatare, deoarece oferă o serie de avantaje față de fișierele de formatare non-XML. Fișierul format XML are următoarele caracteristici.
- Se descrie, este ușor de citit, de creat și de extins.
- Conține tipurile de date ale coloanelor vizate.
Acest lucru vă permite să separați prezentarea datelor dintr-un fișier de tipurile de date ale câmpurilor. De exemplu, dacă fișierul de date conține date în reprezentarea simbolului, atunci tipul de date SQL al coloanei corespunzătoare va fi pierdut.
Comanda bcp și instrucțiunea BULK INSERT utilizează informațiile despre coloane pentru tabela destinație atunci când convertesc tipurile. Acest lucru face ca utilizarea sa obligatorie. În schimb, pentru a citi datele dintr-un fișier de date, OPENROWSET (BULK) funcționează cu fișiere în format XML. Acest lucru face ca utilizarea tabelului țintă să fie opțională. - Vă permite să încărcați din câmpurile de date care conțin un singur tip de date LOB.
Pentru mai multe informații despre structura ambelor tipuri de fișiere de format, vedeți mai târziu subsecțiunea "Exemple".
Instrucțiuni INSERT. SELECT * FROM OPENROWSET (BULK.) Întotdeauna necesită un fișier format.
Pentru un program bcp sau o instrucțiune BULK INSERT, în cazuri simple, utilizarea unui fișier format este opțională și rareori necesară. Cu toate acestea, atunci când efectuați operații complexe de import în vrac, fișierul de formatare este adesea necesar. De exemplu, dacă importați date dintr-un fișier de date într-un tabel, este posibil ca fișierul format să fie necesar în următoarele situații.
- Utilizatorul nu are permisiuni să execute instrucțiunea INSERT pentru unele coloane din tabela destinație.
- Același fișier de date este folosit ca sursă pentru mai multe tabele cu scheme diferite.
- Ordinea coloanelor din fișierul de date este diferită de ordinea coloanelor din tabela destinație.
- Elementele din fișierul de date au delimitatoare diferite sau lungimea prefixului.
Fișierele de formatare sunt necesare dacă:
- Numărul de câmpuri din fișierul de date este diferit de numărul de coloane din tabela destinație, de exemplu:
- Tabelul țintă conține cel puțin o coloană pentru care este specificată fie o valoare implicită, fie NULL este permisă;
- utilizatorii nu au permisiuni de executare a instrucțiunilor SELECT / INSERT în una sau mai multe coloane ale tabelului;
- Același fișier de date este utilizat pentru două sau mai multe tabele cu scheme diferite.
- Tabelul țintă conține cel puțin o coloană pentru care este specificată fie o valoare implicită, fie NULL este permisă;
- Ordinea coloanelor din fișierul de date este diferită de ordinea coloanelor din tabel;
- Caracterele sau lungimile prefixelor sunt diferite în coloanele fișierului de date.
În cazul în care nu există nici un format de fișier, formatul de date excepția cazului în care comanda BCP este specificată (-n. -c. -w, sau -N) sau operație BULK INSERT este specificat cu parametrul DATAFILETYPE, dimensiunea specificată este folosită ca metodă prestabilită pentru interpretarea câmpurilor de fișiere de date.