Push-Down-Verbindungsansichten für entfernte Datenquellen in der Data Virtualization sind nicht möglich
Sie erstellen eine Joinsicht mit zwei Tabellen aus derselben Datenquelle, die zwei Spalten mit dem Datentyp VARCHAR enthalten. Die Verknüpfungsansichtwird jedoch nicht per Pushdown in der fernen Datenquelle übertragen.
Symptome
Sie verfügen über zwei Tabellen mit zwei Spalten des Datentyps VARCHAR in Ihrer fernen Datenquelle. Sie führen eine Abfrage aus, um eine Verknüpfungsansicht für diese beiden Tabellen zu erstellen. DieVerknüpfungsansicht wird jedoch nicht erstellt bzw. per Pushdown in der fernen Datenquelle übertragen,da zwei Spalten den Datentyp VARCHAR aufweisen.
Problemlösung
- Rufen Sie die
cidaus der Tabelledvsys.rdb_connectionsab.select cid, url from dvsys.rdb_connections; - Führen Sie den folgenden Befehl aus, um die Option VARCHAR2_COMPAT anzugeben, wobei
<cid>durch den Wert aus Schritt 1ersetzt wird.alter server qplex options(set <cid>@varchar2_compat 'Y') - Wenn Sie eineSQL1828NFehlernachricht, wenn Sie Schritt 2ausführen, führen Sie den folgenden Befehl aus und ersetzen Sie dabei
<cid>durch den aus Schritt 1abgerufenen Wert.alter server qplex options(add <cid>@varchar2_compat 'Y')
Die Option VARCHAR2_COMPAT bietet eine Möglichkeit, das Serverattribut VARCHAR2_COMPAT extern festzulegen. Es kann jedoch nicht verwendet werden, um alle Pushdown-Probleme zu lösen, die beim Verknüpfen von Tabellen auftreten können. Die Option VARCHAR2_COMPATkann nur in einigen Fällen hilfreich sein.
- Wenn Joinvergleichselemente hauptsächlich Zeichenfolgevergleiche verwenden, müssen Sie die OptionVARCHAR2_COMPAT auf J setzen, um Joinansichten in fernen Datenquellen im Pushdown-Modus zu übertragen.
- Für den Vergleich von Nullwerten und leeren Zeichenfolgen müssen Sie die Option VARCHAR2_COMPATauf Nsetzen.
- Wenn es sich bei Ihrer fernen Datenquelle umBig SQL, Oracleoder Db2handelt, die auf den ORA-Modus gesetzt ist, können Sie die Option VARCHAR2_COMPATfür abschließende Leerzeichen auf J setzen.