Oracle
 sql >> база данни >  >> RDS >> Oracle

SSIS преобразува Varchar2 в DT_STR

Стар въпрос, който знам, но изглежда все още е актуален. И тъй като не можах да намеря подходящ отговор през последните 3 месеца, които търсих, смятам, че сега е най-добрият момент да публикувам откритията си.

Имах същото любопитно поведение и най-накрая успях да го разреша. Оформлението ми изглеждаше така:

  • Oracle 10g R2 база данни на Windows 2003 Server (да я наречем ORA)
  • Машина за разработка с Windows 8, Visual Studio 2012 + SSDT, Sql Express 2012, ODT 12.1.0.21 (да наречем това DEV)
  • Sql Server 2012 на Windows 2012 Server, Oracle Client 11.2 (нека го наречем ТЕСТ)

И DEV, и TEST се свързваха с ORA. DEV докладваше VARCHAR2 колони като DT_WSTR, докато TEST настояваше, че те са DT_STR.

След това инсталирах ODT 12.1.0.21 на TEST и проблемът беше решен. Трябва да се отбележи, че използвах опцията "широка машина" по време на инсталацията. Не съм сигурен колко голямо е въздействието.

Изглежда има разлика в типовете данни, които се връщат от доставчиците на Oracle OleDb в различните версии на компонентите от страна на клиента.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL/SQL Как да получа преди X ден от дата като дата?

  2. Как вашият Oracle ODBC драйвер зарежда клиента на Oracle?

  3. Изпълнение на Oracle JDBC на ResultSet

  4. SQL ред по елементи от IN клауза

  5. ИЗБЕРЕТЕ данни от друга схема в Oracle