Próbuję wykonać kwerendy przeciwko Oracle z klauzuli WHERE tym0x80040e51 Opis: "Dostawca nie może wyprowadzić informacji o parametrze i nie wywołano SetParameterInfo."
BETWEEN date AND date2
pierwszej rundzie badania pokazują, że dostawca Oracle OLEDB nie pozwala na sparametryzowanych kwerend, a te powinny być ustawione w zmiennych. Stworzyłem 3 zmienne. 2 trzymać moje daty są wypełniane prawidłowo, a jeden trzymać zapytanie o wyrażenie kończy się:
BETWEEN to_date('" + (DT_WSTR, 30)@[User::lastRun] + "','DD/MM/YYYY HH:MI:SS AM') AND to_date('" + (DT_WSTR, 30) @[User::thisRun] + "','DD/MM/YYYY HH:MI:SS AM')"
Kiedy klikam „Ocenić wyrażenie” w narzędziu do tworzenia wypowiedzi, ocenia poprawnie
BETWEEN to_date('1/1/1900','DD/MM/YYYY HH:MI:SS AM') AND
to_date('1/1/2010','DD/MM/YYYY HH:MI:SS AM')
I jestem w stanie uruchomić to przeciwko Oracle z powodzeniem za pomocą innych narzędzi.
Ale gdy próbuję uruchomić pakiet, otrzymuję:
[mySource 1 ] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E51. An OLE DB record is available. Source: "OraOLEDB" Hresult: 0x80040E51 Description: "Provider cannot derive parameter information and SetParameterInfo has not been called.".
Gdzie MySource jest OLE DB źródłowy. Ma ustawioną opcję AccessMode na "SQL Command From Variable" i SQLCommandVariable ustawioną na moją zmienną zapytania.
Próbowałem również ręczne ustawienie wszystkich wyjścia kolumn zewnętrznych i zmieniając niektóre wartości byłem wybierających w zapytaniu do Odrzućcie typ danych Oracle DATE:
to_char(PT.CREATED_DTTM,'DD/MM/YYYY HH:MI:SS AM')
jestem jeszcze całkiem nowy SSIS, więc nie jestem nawet pewien, czy szukam w odpowiednim miejscu źródła tego błędu. Czy ktoś ma pomysły, dokąd się udać?
Zrzuty ekranu zgodnie z życzeniem. Jak widać zapytanie "z zmiennej" działa zgodnie z oczekiwaniami w trybie podglądu, ale kiedy próbuję go wykonać, pojawia się błąd.
Tak, pierwsze 2 są wypełniane przez wykonywanie zadań SQL. Jak pokazałem, że zmienna jest poprawnie obliczana (ale z wartościami domyślnymi dwóch pierwszych zmiennych daty) "Kiedy klikam" Wyrażam wyrażenie "w konstruktorze wyrażeń, poprawnie oceniam" – slipsec
Dodam zrzuty ekranu jutro, kiedy jestem z powrotem przed tego komputera. Na razie mogę powiedzieć, że podgląd pokazuje, że zapytanie wykonuje się poprawnie - problem ma coś wspólnego z dodaniem go do źródła OLEDB. – slipsec
Dodano zrzuty ekranu zgodnie z życzeniem. Na razie mapuję tylko jedną kolumnę wyjściową, dopóki to nie zadziała. – slipsec