FIX: 查询链接的服务器文本文件从 SQL Server Jet 提供程序的使用可能非常慢

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

290415
本文已归档。它按“原样”提供,并且不再更新。
错误 #: 236329 (SHILOH_BUGS)
错误 #: 236615 (SHILOH_BUGS)
错误 #: 352865 (SHILOH_BUGS)
症状
当您使用 Jet OLEDB 提供程序 (OLE DB 提供程序为 Jet [文本 IISAM]) 访问 SQL Server 链接服务器中的文本的文件时,该查询可能会花费很长时间。仅当有大量的文本文件中的列时,才会出现较慢的查询性能。
原因
Jet OLEDB 提供程序查询 Jet 属性管理器 为每个列在属性的属性的基础上。在有很大提高查询速度在批量模式下执行 Jet 4.0 Service Pack 5 (SP5) 与启动查询。
解决方案
若要解决此问题,获得最新的 service pack,对于 Microsoft SQL Server 2000。有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211INF: 如何获取最新的 SQL Server 2000 Service Pack
此问题已修复的 Jet 服务包的最新版本中。有关如何获取最新版本的 Jet 4.0 数据库引擎的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
239114如何: 获取最新的 Service Pack,对于 Microsoft Jet 4.0 数据库引擎
替代方法
要变通解决此问题,查询 SQL Server 从文本文件中使用一个不同的提供程序。
状态
Microsoft 已经确认这是 Microsoft SQL Server 2000 中的问题。此问题 SQL Server 2000 Service Pack 1 中第一次已得到纠正。
更多信息
计算机停止响应 (挂起),当 SQL Server 调用 IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS)。

重现行为的步骤

若要重现行为,运行下面的代码示例。

: 此示例假定 C:\MyDir\TextFile.txt 文件有 255 列。
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'goexec sp_addlinkedsrvlogin 'My Documents', false, NULL, 'admin'goSELECT * FROM [My Documents]...[TextFile#txt] goexec sp_droplinkedsrvlogin 'My Documents', nullexec sp_dropserver 'My Documents'go				
IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS) 挂起性能访问

警告: 本文已自动翻译

属性

文章 ID:290415 - 上次审阅时间:01/16/2015 21:47:19 - 修订版本: 4.2

  • Microsoft SQL Server 2000 标准版
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB290415 KbMtzh
反馈