REVISIÓN: El uso del proveedor de Jet para consultar un archivo de texto servidor vinculado de SQL Server puede ser muy lento

Seleccione idioma Seleccione idioma
Id. de artículo: 290415 - Ver los productos a los que se aplica este artículo
Nº DE ERROR: 236329 (SHILOH_BUGS)
Nº DE ERROR: 236615 (SHILOH_BUGS)
Nº DE ERROR: 352865 (SHILOH_BUGS)
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando utiliza el proveedor OLEDB de Jet (proveedor OLE DB para Jet [IISAM de texto]) para obtener acceso a un archivo de texto desde un servidor vinculado de SQL Server, la consulta puede tardar mucho tiempo. El rendimiento lento de la consulta sólo se produce cuando hay un gran número de columnas en el archivo de texto.

Causa

El proveedor OLEDB de Jet está consultando el Administrador de propiedades de Jet según la propiedad por propiedad para cada columna. A partir de Jet 4.0 Service Pack 5 (SP5), la consulta se realiza en un modo masiva, lo que acelera considerablemente la consulta.

Solución

Para resolver este problema, consiga el Service Pack más reciente para Microsoft SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211INF: Cómo obtener el Service Pack más reciente de SQL Server 2000
Este problema se ha corregido en la edición más reciente de Service Pack de Jet. Para obtener información adicional acerca de cómo obtener la última versión de motor de base de datos Jet 4.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
239114Cómo: Obtener el Service Pack más reciente para el motor de base de datos Microsoft Jet 4.0

Solución

Para solucionar el problema, utilice un proveedor diferente para consultar el archivo de texto de SQL Server.

Estado

Microsoft ha confirmado que se trata de un problema de Microsoft SQL Server 2000. Este problema se corrigió por primera vez en SQL Server 2000 Service Pack 1.

Más información

El equipo deja de responder (se bloquea) cuando SQL Server llama a IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS).

Pasos para reproducir este comportamiento

Para reproducir el comportamiento, ejecute el ejemplo de código que sigue.

Nota : este ejemplo se supone que el archivo C:\MyDir\TextFile.txt tiene 255 columnas.
exec sp_addlinkedserver
 @server = 'My Documents',
 @provider = 'Microsoft.Jet.OLEDB.4.0',
 @srvproduct = 'OLE DB Provider for Jet (Text IISAM)',
 @datasrc = 'c:\MyDir\',
 @provstr = 'Text'
go
exec sp_addlinkedsrvlogin 'My Documents', false, NULL, 'admin'
go
SELECT * FROM [My Documents]...[TextFile#txt] 
go
exec sp_droplinkedsrvlogin 'My Documents', null
exec sp_dropserver 'My Documents'
go
				

Propiedades

Id. de artículo: 290415 - Última revisión: jueves, 13 de noviembre de 2003 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB290415 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 290415

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com