/ / Openquery Hung at Same Number Number - sql, sql-server, openquery

Openquery Colgado en el mismo número de fila: sql, sql-server, openquery

Estoy intentando ejecutar una consulta abierta en SQL Server 17 a través de un servidor vinculado a una fuente de conexión de Oracle. Cuando ejecuto la consulta publicada a continuación, se atasca en fila 7833 cada vez.

Consulta:

SELECT
sys_ohi,
"Region",
sub_acct_no_ohi,
serv_cde_ohi,
connect_dte_ohi,
charge_amt_ohi

FROM openquery (MyServer, "
(SELECT DISTINCT
sys_ohi,
CASE
WHEN prin_ohi = ""1000"" THEN ""Seattle East""
WHEN prin_ohi = ""1500"" THEN ""Seattle West""
WHEN prin_ohi = ""2000"" THEN ""Oregon""
WHEN prin_ohi = ""3000"" THEN ""Sacramento""
WHEN prin_ohi = ""3500"" THEN ""San Francisco""
END AS "Region",
sub_acct_no_ohi,
serv_cde_ohi,
connect_dte_ohi,
charge_amt_ohi

FROM mytable_ohi

WHERE serv_cde_ohi IN (""INSTALL"")
AND connect_dte_ohi > trunc(to_date(""06-01-2017"",""MM-DD-YYYY"")))")

Tengo 36 diferentes serv_cde_ohi IN (""INSTALL"") pero he creado 36 consultas UNION ALL para los diferentes escenarios desde que tratar de ponerlas dentro de la declaración "IN" fue terrible para el rendimiento.

Necesito saber por qué esta consulta se atasca en el mismo lugar.

Respuestas

0 para la respuesta № 1

Es posible que su declaración UNION ALL seaDependiendo de las conversiones de datos implícitas para comenzar a ejecutarse, entonces ocurre una condición de datos durante la búsqueda del cursor donde la conversión implícita falla de esta manera que está observando.

Eliminar todas las dependencias implícitas. Para cada ítem en cada SELECCION, establezca explícitamente los tipos de datos (el mismo tipo para cada ítem, normalmente por supuesto).