SSIS – ogranicz długość tekstu w XML Source

Żeby wiedzieć jakiego typu dane są w źródle XML kontrolka XML Source w SSIS wymaga podania arkusza schematu XSD. Wewnętrznego (Use inline schema) lub zewnętrznego (XSD Location). Dla ułatwienia ma też przyjazną opcję generowania automatycznie schematu na podstawie wskazanego dokumentu XML – coś jak Suggest types dla połączenia do plików płaskich.

W przypadku elementów tekstowych kontrolka domyślnie zaproponuje DT_WSTR o długości 255 znaków kiedy tylko przełączymy się na zakładkę Columns.

dlugoscikolumntekstowych

Żeby to obejść musimy zmienić plik XSD ze schematem.

Czytaj dalej

Reklamy

FOR XML PATH i atrybut

To jest wpis z rodzaju „dopadło mnie zaćmienie, jak kiedyś będę miał znów problem to zajrzę na bloga, czy nie pisałem na ten temat”.

Przy tworzeniu dokumentu XML za pomocą FOR XML PATH możemy podać nazwę elementu, który ma „opakowywać” każdy zwracany rekord (jeśli nie podamy będzie domyślne <row>). A co jeśli potrzebujemy dodać atrybut do elementu „opakowującego”? Czytaj dalej

Trick (?) z processing-instruction()

Całkiem niedawno szukając materiałów na temat przetwarzania XML znalazłem opis pewnego tricku: jeśli chcesz ładnie wyświetlić wielolinijkowy tekst wyświetlany w SSMS w siatce wyników – zastosuj taki kawałek kodu:

SELECT SomeCol AS 'processing-instruction(q)'
FROM Whatever
FOR XML PATH(''), TYPE

I tyle. Akurat ten fragment pochodzi ze strony Davida Wentzela, ale widziałem go u kilku innych osób.

No super, ale dlaczego tak i co to w ogóle oznacza? Czemu działa? I co pokazuje?
Czytaj dalej