2015-02-17 13 views
5

otrzymuję:Netezza „[08S01] Łącze komunikacyjne awaria” Wprowadzam dane zewnętrzne

ERROR [HY008] Operacja anulowana ERROR [08S01] Łącze komunikacyjne awaria

Kiedy próbuje załadować zewnętrzny plik .txt do Netezza Baza danych. Robiłem to w przeszłości (właśnie w zeszłym tygodniu), ale dzisiaj otrzymuję ten błąd. Jestem w stanie połączyć się z DB, uruchomiłem obcięcie i utworzyłem wyciągi tabel do załadowania tych danych, mogę wybrać, etc ... Ale jeszcze nie ma ładowania szczęścia. To około 200K rekordów i tutaj jest mój kod:

INSERT INTO PTG_ITO_ETL.FINANCE_TY15_RT_TPG 
SELECT * FROM EXTERNAL 'C:\\Users\\Documents\\Data Sources\\Finance_FY15_RT\\SBTPG\\TPG_INTUIT_RT_PRODIV_20150214.TXT' 
USING 
(
    MAXERRORS 1 
    DATESTYLE 'MDY' 
    DATEDELIM '/' 
    BOOLSTYLE 'Y_N' 
    Y2BASE 2000 
    ENCODING 'internal' 
    SKIPROWS 1 
    REMOTESOURCE 'ODBC' 
    ESCAPECHAR '\' 
) 

Próbowałem rozwiązanie tylko z innym stanowisku udało mi się znaleźć na ten temat:

ERROR [08S01] Communication link failure while inserting data in to external table in netezza

„Znalazłem w Windows 7 i Windows Server 2008 R2 Ustawienia TCP Chimney były winowajcą.

http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2008/05/15/backward-compatible-networking-with-server-core.aspx

follwing Komendy Fix Wydanie tego wydania:

netsh interface tcp set global rss=disabled 
netsh interface tcp set global chimney=disabled 
netsh interface tcp set global autotuning=disabled" 

Ale na próżno. Nie wiesz, co jest przyczyną tego problemu? Mam na Windows 7 przy użyciu Aginity, Netezza wersja 7.0.4 Dzięki!

Dzięki Craig

+0

Jak długo trwa, zanim pojawi się ten błąd? Jakiej konkretnej wersji sterownika ODBC używasz? Bez wiedzy o tym, co dzieje się w śladzie ODBC, trudno powiedzieć. Jednak błąd o podobnych objawach, co zgłaszany, został rozwiązany w pakiecie klienta 7.0.4.7. – ScottMcG

+0

Dodanie pliku 'LogDir 'C: \\ Users \\ Documents \\ Data Sources \\ Finance_FY15_RT \\ SBTPG \\'' spowoduje pobranie pliku .nzlog/.nzbad. Jeśli podnosisz swoje "maxerrors" do 100, czy dostajesz te pliki? jeśli tak, jaki jest komunikat o błędzie? – Niederee

+0

@ScottMcG, Anywhere od 15s (najszybciej widziałem) do 86s (najdłużej jest brany). Konkretnym sterownikiem jest wersja 7.01.00.36189. Może postaram się zaktualizować jeden z IBM, poinformuje Cię, jak to działa. Dzięki! – thagraybush

Odpowiedz

1

Docenić Pomoc od @ScottMcG, po pobraniu najnowszego sterownika Netezza (7.0.4.7) udało mi się ukończyć tego zadania. Nadal ulegał erozji (z tym samym błędem) kilka razy, ale również pracował wiele z rozległymi testami.

Czytam kolejny wpis podobny i ten błąd wydaje się być wspólny, im większe są zapisy. Czytałem taki, w którym osoba korzystała z zewnętrznego stołu z milionem rekordów i za każdym razem ulegała erozji. W razie potrzeby może zajść potrzeba podzielenia danych na mniejsze tabele zewnętrzne w celu załadowania do jednej tabeli/bazy danych. Wydaje się, że masz problemy z około 200 tys.

Jest to również z mojego laptopa, więc może znacznie wyżej, jeśli jesteś na pudełku w centrum danych. Sugerowałbym aktualizację sterownika, a następnie podzielenie na mniejsze pliki, jeśli to konieczne.

Dzięki wszystkim!

+0

Jako jeden pomysł na ostatnią szansę, możesz spróbować przełączyć Aginity na dostawcę OLE-DB w czasie połączenia. Jest on pakowany w ten sam pakiet kliencki systemu Windows, co sterownik ODBC. – ScottMcG

2

Spróbuj wykonać następujące czynności i sprawdzić, czy błędy

SELECT * FROM EXTERNAL 'C:\\Users\\Documents\\Data Sources\\Finance_FY15_RT\\SBTPG\\TPG_INTUIT_RT_PRODIV_20150214.TXT' 
(field1 varchar(20000)) 
    USING 
    (
     MAXERRORS 1 
     Delim 199 
     DATESTYLE 'MDY' 
     DATEDELIM '/' 
     BOOLSTYLE 'Y_N' 
     Y2BASE 2000 
     ENCODING 'internal' 
     SKIPROWS 1 
     REMOTESOURCE 'ODBC' 
     ESCAPECHAR '\' 
    )