Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SSIS konvertiert Varchar2 in DT_STR

Eine alte Frage, die ich kenne, scheint aber immer noch aktuell zu sein. Und da ich in den letzten 3 Monaten, in denen ich gesucht habe, keine passende Antwort finden konnte, denke ich, dass jetzt ein guter Zeitpunkt ist, um meine Ergebnisse zu veröffentlichen.

Ich hatte das gleiche seltsame Verhalten und konnte es endlich lösen. Mein Layout sah so aus:

  • Oracle 10g R2-Datenbank auf Windows 2003 Server (nennen wir es ORA)
  • Entwicklungsmaschine mit Windows 8, Visual Studio 2012 + SSDT, Sql Express 2012, ODT 12.1.0.21 (nennen wir das DEV)
  • Sql Server 2012 auf Windows 2012 Server, Oracle Client 11.2 (nennen wir das TEST)

Sowohl DEV als auch TEST stellten eine Verbindung zu ORA her. DEV hat VARCHAR2-Spalten als DT_WSTR gemeldet, während TEST darauf bestanden hat, dass sie DT_STR sind.

Ich habe dann ODT 12.1.0.21 auf TEST installiert und das Problem war gelöst. Insbesondere habe ich während der Installation die Option "maschinenweit" verwendet. Ich bin mir nicht sicher, wie viel Einfluss das hatte.

Es scheint einen Unterschied in den Datentypen zu geben, die von den Oracle OleDb-Anbietern in den verschiedenen Versionen der clientseitigen Komponenten zurückgegeben werden.