sql >> Databáze >  >> RDS >> Oracle

SSIS převede Varchar2 na DT_STR

Známá stará otázka, ale zdá se, že je stále aktuální. A protože jsem za poslední 3 měsíce, co jsem hledal, nemohl najít vhodnou odpověď, domnívám se, že nyní je vhodná doba pro zveřejnění mých zjištění.

Měl jsem stejné zvláštní chování a konečně se mi to podařilo vyřešit. Moje rozvržení vypadalo takto:

  • Databáze Oracle 10g R2 na Windows 2003 Server (říkejme tomu ORA)
  • Počítač pro vývojáře se systémem Windows 8, Visual Studio 2012 + SSDT, Sql Express 2012, ODT 12.1.0.21 (říkejme tomu DEV)
  • Sql Server 2012 na Windows 2012 Server, Oracle Client 11.2 (říkejme tomu TEST)

DEV i TEST se připojovaly k ORA. DEV hlásil sloupce VARCHAR2 jako DT_WSTR, zatímco TEST trval na tom, že jsou DT_STR.

Poté jsem na TEST nainstaloval ODT 12.1.0.21 a problém byl vyřešen. Je pozoruhodné, že jsem během instalace použil možnost „široký stroj“. Nejsem si jistý, jak velký dopad to mělo.

Zdá se, že existuje rozdíl v datových typech, které vracejí poskytovatelé Oracle OleDb v různých verzích komponent na straně klienta.



  1. Dokončete kurz Laravel 8 Soft Delete &Restore Deleted Records

  2. Analýza dat ODBC v IBM SPSS

  3. Příklady DATEDIFF() v SQL Server

  4. jaký je rozdíl mezi UNIQUE INDEX a UNIQUE KEY?