Error 7391

14/02/2007 - 18:37 por Rosario | Informe spam
Hola tengo un problema al ejecutar es SP

DECLARE @nombre_tabla varchar(15), @id_calculo int

set @nombre_tabla='Cobranza'
set @id_calculo750

INSERT INTO com_referencia_doctos (
id_calculo,
docto_referencia,
tabla_referencia,
monto,
ponderacion_dias
)
SELECT
@id_calculo,
RefNbr,
@nombre_tabla,
0,
0
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'


Me marca el siguiente error:

Server: Msg 7391, Level 16, State 1, Line 8
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: No se puede dar de alta la nueva
transacción en el coordinador de transacciones especificado. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].


Ya busque en internet algo y me encontré con esto:

http://support.microsoft.com/kb/873160

Y ya hice lo que indica este link y sigo igual, cabe mencionar que el
servidor al que hago referencia "linked server solmaster" esta sobre un
Win 2000 Server y aqui el servicio de Transacciones Distribuidas tiene
asignado el LOG on a la cuenta del sistema y no como Network Service,
será por aqui el error.

También cabe mencionar que esta consulta

SELECT *
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'

me devuelve los datos correctamente.

Muchas gracias por cualquier ayuda.

Preguntas similare

Leer las respuestas

#1 Salvador Ramos
14/02/2007 - 19:00 | Informe spam
Hola,

El nombre de tabla no se puede pasar como parámetro, si así lo necesitases
debes utilizar SQL dinámico. Te paso un link bastante interesante, te
recomiendo que lo leas antes de tomar una decisión:
http://www.hayes.ch/sql/sql_dinamico.html

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server / MCTS: SQL Server 2005]
www.helpdna.net (información sobre SQL Server y .NET)
Y ahora también en www.sqlserverymicrosoft.net


"Rosario" escribió en el mensaje
news:
Hola tengo un problema al ejecutar es SP

DECLARE @nombre_tabla varchar(15), @id_calculo int

set @nombre_tabla='Cobranza'
set @id_calculo750

INSERT INTO com_referencia_doctos (
id_calculo,
docto_referencia,
tabla_referencia,
monto,
ponderacion_dias
)
SELECT
@id_calculo,
RefNbr,
@nombre_tabla,
0,
0
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'


Me marca el siguiente error:

Server: Msg 7391, Level 16, State 1, Line 8
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: No se puede dar de alta la nueva
transacción en el coordinador de transacciones especificado. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].


Ya busque en internet algo y me encontré con esto:

http://support.microsoft.com/kb/873160

Y ya hice lo que indica este link y sigo igual, cabe mencionar que el
servidor al que hago referencia "linked server solmaster" esta sobre un
Win 2000 Server y aqui el servicio de Transacciones Distribuidas tiene
asignado el LOG on a la cuenta del sistema y no como Network Service, será
por aqui el error.

También cabe mencionar que esta consulta

SELECT *
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'

me devuelve los datos correctamente.

Muchas gracias por cualquier ayuda.
Respuesta Responder a este mensaje
#2 Rosario
14/02/2007 - 20:33 | Informe spam
Salvador Ramos escribió:
Hola,

El nombre de tabla no se puede pasar como parámetro, si así lo necesitases
debes utilizar SQL dinámico. Te paso un link bastante interesante, te
recomiendo que lo leas antes de tomar una decisión:
http://www.hayes.ch/sql/sql_dinamico.html



Que tal, gracias por el link ya lo lei, esta interesante, pero no me
resolvio mi problema, no tengo mucha experiencia en esto por eso recurro
a ustedes.

Alguna otra idea de como quitar dicho error.

Gracias.
Respuesta Responder a este mensaje
#3 Alejandro Mesa
14/02/2007 - 21:03 | Informe spam
Rosario,

Desde donde estas llamando esta sentencia "insert" desde un procedimiento
que usa una transaccion explicita o desde un trigger?


AMB

"Rosario" wrote:

Hola tengo un problema al ejecutar es SP

DECLARE @nombre_tabla varchar(15), @id_calculo int

set @nombre_tabla='Cobranza'
set @id_calculo750

INSERT INTO com_referencia_doctos (
id_calculo,
docto_referencia,
tabla_referencia,
monto,
ponderacion_dias
)
SELECT
@id_calculo,
RefNbr,
@nombre_tabla,
0,
0
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'


Me marca el siguiente error:

Server: Msg 7391, Level 16, State 1, Line 8
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: No se puede dar de alta la nueva
transacción en el coordinador de transacciones especificado. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].


Ya busque en internet algo y me encontré con esto:

http://support.microsoft.com/kb/873160

Y ya hice lo que indica este link y sigo igual, cabe mencionar que el
servidor al que hago referencia "linked server solmaster" esta sobre un
Win 2000 Server y aqui el servicio de Transacciones Distribuidas tiene
asignado el LOG on a la cuenta del sistema y no como Network Service,
será por aqui el error.

También cabe mencionar que esta consulta

SELECT *
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'

me devuelve los datos correctamente.

Muchas gracias por cualquier ayuda.

Respuesta Responder a este mensaje
#4 Jose Mariano Alvarez
14/02/2007 - 21:05 | Informe spam
Asegurate de que los DTC esten corriendo en ambos equipos y que las cuentas
usadas sean de adecuadas para poder realizar la transaccion.
Ojo que el documento de soporte dice DTS y esta mal.debe decir DTC



Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)




"Rosario" wrote in message
news:
Hola tengo un problema al ejecutar es SP

DECLARE @nombre_tabla varchar(15), @id_calculo int

set @nombre_tabla='Cobranza'
set @id_calculo750

INSERT INTO com_referencia_doctos (
id_calculo,
docto_referencia,
tabla_referencia,
monto,
ponderacion_dias
)
SELECT
@id_calculo,
RefNbr,
@nombre_tabla,
0,
0
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'


Me marca el siguiente error:

Server: Msg 7391, Level 16, State 1, Line 8
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: No se puede dar de alta la nueva
transacción en el coordinador de transacciones especificado. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].


Ya busque en internet algo y me encontré con esto:

http://support.microsoft.com/kb/873160

Y ya hice lo que indica este link y sigo igual, cabe mencionar que el
servidor al que hago referencia "linked server solmaster" esta sobre un
Win 2000 Server y aqui el servicio de Transacciones Distribuidas tiene
asignado el LOG on a la cuenta del sistema y no como Network Service, será
por aqui el error.

También cabe mencionar que esta consulta

SELECT *
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'

me devuelve los datos correctamente.

Muchas gracias por cualquier ayuda.
Respuesta Responder a este mensaje
#5 Rosario
14/02/2007 - 21:06 | Informe spam
Alejandro Mesa escribió:
Rosario,

Desde donde estas llamando esta sentencia "insert" desde un procedimiento
que usa una transaccion explicita o desde un trigger?


AMB

"Rosario" wrote:

Hola tengo un problema al ejecutar es SP

DECLARE @nombre_tabla varchar(15), @id_calculo int

set @nombre_tabla='Cobranza'
set @id_calculo750

INSERT INTO com_referencia_doctos (
id_calculo,
docto_referencia,
tabla_referencia,
monto,
ponderacion_dias
)
SELECT
@id_calculo,
RefNbr,
@nombre_tabla,
0,
0
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'


Me marca el siguiente error:

Server: Msg 7391, Level 16, State 1, Line 8
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: No se puede dar de alta la nueva
transacción en el coordinador de transacciones especificado. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].


Ya busque en internet algo y me encontré con esto:

http://support.microsoft.com/kb/873160

Y ya hice lo que indica este link y sigo igual, cabe mencionar que el
servidor al que hago referencia "linked server solmaster" esta sobre un
Win 2000 Server y aqui el servicio de Transacciones Distribuidas tiene
asignado el LOG on a la cuenta del sistema y no como Network Service,
será por aqui el error.

También cabe mencionar que esta consulta

SELECT *
from
solmaster.herramientas.dbo.vmvwCobranzaVendedores
WHERE
perpost in ('200612','200611','200610') and slsperid='35'

me devuelve los datos correctamente.

Muchas gracias por cualquier ayuda.





Hola, para efectos de prueba lo estoy ejecutando directamente con el
Query Analizer, pero la idea es pasarlo a un procedimiento.

Saludos.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida