O2SS0160: instrucción SELECT no convertida (error)

En este artículo se describe por qué SQL Server Migration Assistant (SSMA) para Oracle no convierte la SELECT instrucción en dos escenarios que tienen cláusulas con formato ORDER BY incorrecto.

Información previa

Hay casos en los que SSMA no puede convertir instrucciones complejas SELECT .

Posibles soluciones

Hay dos escenarios en los que SSMA no convierte la instrucción select y genera un mensaje de error.

Escenario 1: SELECT DISTINCT la instrucción se usa con CONNECT BY PRIOR la instrucción en la consulta jerárquica

Tenga en cuenta el ejemplo siguiente:

SELECT DISTINCT
    empno,
    MGR,
    ename
FROM
    emp
START WITH MGR = 7902
CONNECT BY PRIOR MGR = empno;

Al intentar convertir el código anterior en SSMA, genera el siguiente mensaje de error:

O2SS0160: instrucción SELECT no convertida

Para resolver el problema anterior, puede usar la ORDER BY cláusula en el código fuente de Oracle, como se muestra a continuación:

SELECT DISTINCT
    empno,
    MGR,
    ename
FROM
    emp
START WITH MGR = 7902
CONNECT BY PRIOR MGR = empno
ORDER BY empno;

SSMA debe convertir correctamente la consulta anterior.

Escenario 2: ORDER BY la cláusula ordena el conjunto de resultados en función de las dos columnas o campos, pero solo ha especificado una columna o campo en la SELECT cláusula

Tenga en cuenta el ejemplo siguiente:

SELECT Empno
FROM emp
ORDER BY 1, 2;

Al intentar convertir el código anterior en SSMA, genera el siguiente mensaje de error:

O2SS0160: instrucción SELECT no convertida

Para resolver este error, reduzca el número de campos o columnas en ORDER BY la cláusula o agregue campos o columnas adicionales en la SELECT cláusula .

Esta es la consulta actualizada en la que se ha quitado la ORDER BYsegunda referencia de columna de :

SELECT Deptno
FROM emp
ORDER BY 1;

SSMA debe convertir correctamente la consulta anterior.

  • O2SS0268: no se puede convertir una consulta jerárquica con combinación externa
  • O2SS0285: no se ha convertido la consulta jerárquica