OPENDATASOURCE dentro de un SP

21/12/2004 - 11:35 por Jorge Serrano [MVP VB] | Informe spam
Hola a todos,

quería hacer una pregunta acerca del rendimiento y funcionamiento de
OPENDATASOURCE dentro de un SP.

Me explico:

Dentro de un SP tengo una instrucción como por ejemplo:

UPDATE OPENDATASOURCE('SQLOLEDB','Data Source=MAQUINA;User
ID=sa;Password=loquesea').MIBASE.dbo.MITABLA SET ...

El caso es que he notado que el rendimiento de esta acción (el SP se ejecuta
desde un SERVIDOR apuntando a otro para hacer allí el UPDATE) es
increiblemente lento.

¿Existe alguna forma adicional de modificar, consultar, insertar, etc.,
datos dentro de un SP que apunten a otro repositorio de datos que no sea por
medio de OPENDATASOURCE o bien, existe alguna forma de que el rendimiento se
mejore ostensiblemente?, ¿o bien debo fastidiarme y pensar en otro mecanismo
de acceso?.
Si tengo que pensar mejor en otro mecanimo de acceso, ¿cuál pensáis desde
vuestra experiencia que es el mejor mecanismo de acceso?.

Muchas gracias a todos por vuestro tiempo.

Ah!, FELIZ NAVIDAD y FELIZ y PRÓSPERO AÑO NUEVO 2005.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/
 

Leer las respuestas

#1 qwalgrande
21/12/2004 - 12:01 | Informe spam
Hola.

A nivel de rendimiento, acceder a un servidor desde otro es complicado.
Puedes probar a vincular los servidores, pero eso tampoco te dará un
rendimiento espectacular. Si son muchos los datos a modificar, lo que yo
suelo hacer es evitar hacer la modificación en remoto. Es decir, accedo al
servidor remoto, me traigo a local lo que necesito para realizar la
actualización (vía insert...select) y lo dejo en una tabla temporal. Luego,
ya en local realizo el update. Puedes optar por un dts para ello también.

Si no es lo que buscas, nos comentas.

qwalgrande

"Jorge Serrano [MVP VB]" wrote:

Hola a todos,

quería hacer una pregunta acerca del rendimiento y funcionamiento de
OPENDATASOURCE dentro de un SP.

Me explico:

Dentro de un SP tengo una instrucción como por ejemplo:

UPDATE OPENDATASOURCE('SQLOLEDB','Data Source=MAQUINA;User
ID=sa;Password=loquesea').MIBASE.dbo.MITABLA SET ...

El caso es que he notado que el rendimiento de esta acción (el SP se ejecuta
desde un SERVIDOR apuntando a otro para hacer allí el UPDATE) es
increiblemente lento.

¿Existe alguna forma adicional de modificar, consultar, insertar, etc.,
datos dentro de un SP que apunten a otro repositorio de datos que no sea por
medio de OPENDATASOURCE o bien, existe alguna forma de que el rendimiento se
mejore ostensiblemente?, ¿o bien debo fastidiarme y pensar en otro mecanismo
de acceso?.
Si tengo que pensar mejor en otro mecanimo de acceso, ¿cuál pensáis desde
vuestra experiencia que es el mejor mecanismo de acceso?.

Muchas gracias a todos por vuestro tiempo.

Ah!, FELIZ NAVIDAD y FELIZ y PRÓSPERO AÑO NUEVO 2005.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/

Preguntas similares