Error muy raro en SQL Server 2000

20/11/2007 - 09:35 por XTV | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_0013_01C82B58.A3E9BCE0

Hola; tengo un problema que me esta trayendo de cabeza; a ver quién me puede hechar una mano

Tengo dos servidores SQL Server 2000 en diferentes redes y cuya vía de comunicación es internet. El de mi red lo tengo enlazado al de internet mediante un "servidor vinculado" y lo quiero es lanzar desde mi SQL Server la ejecución de un procedimiento almacenado en el otro servidor remoto; para ello hago lo siguiente:

SELECT * FROM OPENQUERY(Mundirecargas, 'exec IncDecSaldo ''SERVICIOSW'', ''99999'', 2500, ''D'', ''Pruebas''') Historico

Entiendo que este es el unico sistema que tengo para lanzar el procedimiento almacenado en el servidor remoto; si a alguien se le ocurre una vía alternativa le agradeceria mucho que me lo indicase; porque esto me da el siguiente error:

Servidor: mensaje 7356, nivel 16, estado 1, línea 1
El proveedor OLE DB 'MSDASQL' especificó metadatos contradictorios para una columna. La información de metadatos cambió en tiempo de ejecución.
Traza de error de OLE DB [Non-interface error: Column '(null)' (compile-time ordinal 2) of object 'exec IncDecSaldo 'SERVICIOSW', '99999', 2500, 'D', 'Pruebas'' was reported to have a DBCOLUMNFLAGS_ISNULLABLE of 0 at compile time and 32 at run time].

Por más información que busco y pruebas que hago, no encuentro la clave que me ayude a resolver el problema. Por cierto el procedimiento almacenado funciona bien, pues si se ejecuta de forma local en dicho servidor no a ningún fallo y efectúa correctamente sus operaciones

¿Alguna idea sobre qué es lo que esta pasando?.

Muchas gracias

=_NextPart_000_0013_01C82B58.A3E9BCE0

ÿþ<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16544" name=GENERATOR></HEAD>
<BODY id=MailContainerBody
style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10pt; COLOR: #000000; PADDING-TOP: 15px; FONT-FAMILY: Arial"
bgColor=#ffffff leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area" acc_role="text">
<DIV>Hola; tengo un <STRONG>problema</STRONG> que me esta trayendo de cabeza; a
ver quién me puede hechar una mano<BR><BR>Tengo dos servidores SQL Server 2000
en diferentes redes y cuya vía de comunicación es internet. El de mi red lo
tengo enlazado al de internet mediante un "<STRONG>servidor vinculado</STRONG>"
y lo quiero es lanzar desde mi SQL Server la <STRONG>ejecución de un
procedimiento almacenado</STRONG> en el otro servidor remoto; para ello hago lo
siguiente:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;<FONT
face="Microsoft Sans Serif">SELECT * FROM OPENQUERY(Mundirecargas,
'<STRONG>exec</STRONG> IncDecSaldo ''SERVICIOSW'', ''99999'', 2500, ''D'',
''Pruebas''') Historico<BR><BR></FONT>Entiendo que este es el unico sistema que
tengo para lanzar el procedimiento almacenado en el servidor remoto; si a
alguien se le ocurre una <STRONG>vía alternativa</STRONG> le agradeceria mucho
que me lo indicase; porque esto me da el siguiente error:<BR><BR><FONT
face="MS Sans Serif"><FONT color=#ff0000>Servidor: mensaje 7356, nivel 16,
estado 1, línea 1</FONT><BR>El proveedor OLE DB 'MSDASQL' especificó metadatos
contradictorios para una columna. La información de metadatos cambió en tiempo
de ejecución.<BR>Traza de error de OLE DB [Non-interface error:&nbsp; Column
'(null)' (compile-time ordinal 2) of object 'exec IncDecSaldo 'SERVICIOSW',
'99999', 2500, 'D', 'Pruebas'' was reported to have a DBCOLUMNFLAGS_ISNULLABLE
of 0 at compile time and 32 at run time].<BR><BR></FONT><SPAN
style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: ES; mso-fareast-language: ES; mso-bidi-language: AR-SA">Por
más información que busco y pruebas que hago, <STRONG><SPAN
style="FONT-FAMILY: Arial">no encuentro la clave que me ayude a resolver el
problema</SPAN></STRONG>. Por cierto el procedimiento almacenado funciona bien,
pues si se ejecuta de forma local en dicho servidor no a ningún fallo y efectúa
correctamente sus operaciones</SPAN><BR><BR><STRONG>¿Alguna idea</STRONG> sobre
qué es lo que esta pasando?. </DIV>
<DIV>&nbsp;</DIV>
<DIV>Muchas gracias<BR></DIV></BODY></HTML>

=_NextPart_000_0013_01C82B58.A3E9BCE0--
 

Leer las respuestas

#1 Eladio Rincón
20/11/2007 - 09:53 | Informe spam
hola,
¿por qué no usas el formato <servidor>.<base_datos>.<propietario>.<objeto>?

en tu caso sería:
exec Mundirecargas.[falta_bd].dbo.IncDecSaldo [y el resto de argumentos]


Saludos,

Eladio Rincón,
SQL Server MVP
http://blogs.solidq.com/es/elrincondeldba

"XTV" wrote in message
news:
Hola; tengo un problema que me esta trayendo de cabeza; a ver quién me puede
hechar una mano

Tengo dos servidores SQL Server 2000 en diferentes redes y cuya vía de
comunicación es internet. El de mi red lo tengo enlazado al de internet
mediante un "servidor vinculado" y lo quiero es lanzar desde mi SQL Server
la ejecución de un procedimiento almacenado en el otro servidor remoto; para
ello hago lo siguiente:

SELECT * FROM OPENQUERY(Mundirecargas, 'exec IncDecSaldo ''SERVICIOSW'',
''99999'', 2500, ''D'', ''Pruebas''') Historico

Entiendo que este es el unico sistema que tengo para lanzar el procedimiento
almacenado en el servidor remoto; si a alguien se le ocurre una vía
alternativa le agradeceria mucho que me lo indicase; porque esto me da el
siguiente error:

Servidor: mensaje 7356, nivel 16, estado 1, línea 1
El proveedor OLE DB 'MSDASQL' especificó metadatos contradictorios para una
columna. La información de metadatos cambió en tiempo de ejecución.
Traza de error de OLE DB [Non-interface error: Column '(null)'
(compile-time ordinal 2) of object 'exec IncDecSaldo 'SERVICIOSW', '99999',
2500, 'D', 'Pruebas'' was reported to have a DBCOLUMNFLAGS_ISNULLABLE of 0
at compile time and 32 at run time].

Por más información que busco y pruebas que hago, no encuentro la clave que
me ayude a resolver el problema. Por cierto el procedimiento almacenado
funciona bien, pues si se ejecuta de forma local en dicho servidor no a
ningún fallo y efectúa correctamente sus operaciones

¿Alguna idea sobre qué es lo que esta pasando?.

Muchas gracias

Preguntas similares