2012-07-16 11 views
6

Nie mogłem wczoraj grać z moim czterolatkiem. Dlaczego nie zapytasz?W SSIS, definiując stałe połączenie płaskiego pliku o stałej długości pliku, czy istnieje sposób programowego zdefiniowania kolumn?

Ponieważ miałem plik o stałej długości 150 kolumn, który musiałem skonfigurować w SSIS do importu do bazy danych serwera SQL.

Wiem, jak to zrobić, ale nie jestem w stanie zdefiniować kolumn programowo, co doprowadza mnie do szału. To gorsze niż oglądanie powtórek amerykańskiego Idola.

W "Edytorze Menedżera połączeń płaskich" ustawiam format "Ragged right" check off "Nazwy kolumn w pierwszym wierszu danych".

Następnie w zakładce kolumny znajduje się interfejs do definiowania kolumn.

Mam definicje kolumn w arkuszu kalkulacyjnym programu excel. Znam nazwy kolumn i ich dokładną długość.

Ale dlaczego w imię Zeusa muszę ręcznie kliknąć na tej głupiej małej linijki rzeczy 150 razy

powinienem być w stanie skrypt to.

Chodzi mi o to, że siedzę tam, klikając kolumny w absolutnie oszałamiającym umyśle. To, co zajęło mi godzinę, zajęło mi trzy godziny, ponieważ co trzy kolumny redaktor odesłał mnie z powrotem na początek wiersza, zmuszając mnie do przewinięcia do miejsca, w którym byłem (argh !!!!).

Otworzyłem nawet plik SSIS package.dtsx, aby sprawdzić, czy mogę go edytować poza programem Visual Studio, jednak wartość GUID obok właściwości DTSID usunęła ten genialny pomysł.

Moja droga wspólnota StackOverFlow jest programowalna, aby zdefiniować program o stałej długości, a tym samym pominąć zabawę polegającą na ręcznym kliknięciu 150 kolumn.

Odpowiedz

1

Tak: http://blogs.msdn.com/b/mattm/archive/2008/12/30/samples-for-creating-ssis-packages-programmatically.aspx

Będziesz zazwyczaj otworzyć istniejący (szablon) pakiet przez .NET przy użyciu Microsoft.SqlServer.Dts * zajęcia, dodać menedżera połączeń i kolumny, a następnie zapisać pakiet do dalszego. szczypanie ręcznie.

+0

Robię to w ramach zadania skryptu? – codingguy3000

+0

@ codingguy3000 Nie, to musiałoby być wykonane poza pakietem - myślę, że można to zrobić w innym pakiecie, ale miałem program C# WinForms, który pozwolił mi przeglądać plik, otworzyć go i wygenerować kod pakietu . –

Powiązane problemy