Oracle
 sql >> Baza danych >  >> RDS >> Oracle

SSIS konwertuje Varchar2 na DT_STR

Stare pytanie, które znam, ale wydaje się nadal aktualne. A ponieważ nie mogłem znaleźć odpowiedniej odpowiedzi w ciągu ostatnich 3 miesięcy, w których szukałem, uważam, że teraz jest najlepszy czas na opublikowanie moich wyników.

Miałem takie samo dziwne zachowanie i wreszcie udało mi się je rozwiązać. Mój układ wyglądał tak:

  • Baza danych Oracle 10g R2 w systemie Windows 2003 Server (nazwijmy ją ORA)
  • Maszyna deweloperska z Windows 8, Visual Studio 2012 + SSDT, Sql Express 2012,ODT 12.1.0.21 (nazwijmy to DEV)
  • Sql Server 2012 na Windows 2012 Server, Oracle Client 11.2 (nazwijmy to TEST)

Zarówno DEV, jak i TEST łączyły się z ORA. DEV zgłaszało kolumny VARCHAR2 jako DT_WSTR, podczas gdy TEST twierdził, że są to DT_STR.

Następnie zainstalowałem ODT 12.1.0.21 na TEST i problem został rozwiązany. Warto zauważyć, że podczas instalacji użyłem opcji „na całą maszynę”. Nie jestem pewien, jaki to miało wpływ.

Wydaje się, że istnieje różnica w typach danych zwracanych przez dostawców Oracle OleDb w różnych wersjach komponentów po stronie klienta.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle usuwa wiersze z wielu tabel

  2. Funkcja podobna do UTL_MATCH do pracy z CLOB

  3. W Oracle AS alias nie działa

  4. Jak rozpoznać, czy wartość nie jest liczbowa w Oracle?

  5. Funkcje daty i godziny Oracle (pełna lista)