none
MSSQL on Linux, adhoc query: 'No transaction is active.' RRS feed

  • Pregunta

  • Estoy tratando de realizar una consulta SQL de tipo adhoc, estoy intentando enviar registros de una instancia de MSSQL en Windows a MSSQL en Ubuntu Server 20.04, el detalle esta en que la lectura si me permite y al momento de escritura me aparece el dicho mensaje, me explico:

    Cuando quiero agregar un registro:

    INSERT INTO [LINKEDSRV].[BDD].[DBO].[TABLE] (columna) SELECT 10
    

    Y me funciona.

    Pero cuando quiero usarlo en un SP (solamente estoy agregando el fragmento donde lo llamo):

    SET @lQryStr ='DELETE FROM [LINKEDSRV].' + @BDD + '.DBO.TABLE WHERE YEAR(p1) = ' + CONVERT(VARCHAR,@lp1,1) + 'AND MONTH(p1) = ' + CONVERT(VARCHAR,@lp1,1)
    
    EXEC(@lQryStr)

    El error que me muestra es el siguiente:

    OLE DB provider "SQLNCLI11" for linked server "LINKEDSRV" returned message "No transaction is active.".
    Msg 0, Level 11, State 0, Line 312
    A severe error occurred on the current command.  The results, if any, should be discarded.

    Cuando lo utilizo en otras instancias de MSSQL en Windows no tengo problema, pero específicamente me sucede en Linux.

    Seguí el tutorial para las configuración de RPC y MSDTC, redireccione el puerto 135(RPC) y cree las iptables.

    El usuario tiene los permisos necesarios, ya que si me permite ingresar cuando lo llamo fuera de un SP.

    Me podrían auxiliar, no se si no sea una novedad permitida en MSSQL en Linux, si esto ayuda ambas son versiones DEVELOPER.

    Agradeceré sus aportaciones.

    miércoles, 9 de diciembre de 2020 19:38