2016-09-15 4 views
1

Ich versuche, eine LISTAGG in iSQL zu einer Orakel DB verbinden.isql Fehler konnte sqlExecute auf Listag nicht

Die folgende Abfrage läuft gut und gibt 106 Ergebnisse zurück.

SELECT DISTINCT owner FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM', 'EXFSYS', 'DBSNMP', 'SQLTXPLAIN', 'XDB', 'WMSYS', 'PERFSTAT', 'OUTLN'); 

Versuch, dann LISTAGG ich folgende Fehler:

Methode 1:

SELECT LISTAGG(DISTINCT owner, ', ') WITHIN GROUP (ORDER BY owner) FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM', 'EXFSYS', 'DBSNMP', 'SQLTXPLAIN', 'XDB', 'WMSYS', 'PERFSTAT', 'OUTLN'); 

Rückkehr:

[ISQL]ERROR: Could not SQLExecute 

Methode 2:

SELECT LISTAGG(owner, ', ') WITHIN GROUP (ORDER BY owner) FROM (SELECT DISTINCT owner FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM', 'EXFSYS', 'DBSNMP', 'SQLTXPLAIN', 'XDB', 'WMSYS', 'PERFSTAT', 'OUTLN')); 

kehrt:

LISTAGG(OWNER,',')WITHINGROUP(ORDERBYOWNER) 

Do Funktionen wie LISTAGG sogar arbeiten von iSQL eine ODBC-Verbindung zu Oracle verwendet.

bearbeiten - Ich fand das folgende sieht aus wie es ist nicht erlaubt? Allowed Functions

Oracle Database Gateway for ODBC assumes that ODBC driver provider that is being used supports the following minimum set of SQL functions: 

AVG(exp) 
LIKE(exp) 
COUNT(*) 
MAX(exp) 
MIN(exp) 
NOT 

Antwort

0

Per meine Kommentare im quesiton isql nicht Systemfunktionen in Oracle zugreifen können.

Verwandte Themen