CORRECÇÃO: A utilização do fornecedor de Jet consultar um ficheiro de texto ligada de servidor do SQL Server pode ser muito lenta

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

290415
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
N.º DE BUGS: 236329 (SHILOH_BUGS)
N.º DE BUGS: 236615 (SHILOH_BUGS)
N.º DE BUGS: 352865 (SHILOH_BUGS)
Sintomas
Quando utiliza o fornecedor de OLEDB Jet (OLE DB Provider for Jet [texto IISAM]) para aceder a um ficheiro de texto de um servidor ligado do SQL Server, a consulta poderá demorar muito tempo. O desempenho das consultas lenta só ocorre quando existe um grande número de colunas no ficheiro de texto.
Causa
O fornecedor de OLEDB do Jet está a consultar o Jet Property Manager numa base de propriedade por propriedade para cada coluna. Iniciar com o Jet 4.0 Service Pack 5 (SP5) a consulta é executada num modo em massa, que acelera a consulta consideravelmente.
Resolução
Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211INF: How to Obtain the Latest SQL Server 2000 Service Pack
Este problema foi corrigido na edição mais recente do Jet Service Pack. Para obter informações adicionais sobre como obter a versão mais recente do motor de base de dados Jet 4.0, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
239114Como: Obter o Service Pack mais recente para o motor de base de dados Microsoft Jet 4.0
Como contornar
Para contornar o problema, utilize um fornecedor diferente para consultar o ficheiro de texto do SQL Server.
Ponto Da Situação
A Microsoft confirmou que este é um problema no Microsoft SQL Server 2000. Este problema foi corrigido pela primeira vez no SQL Server 2000 Service Pack 1.
Mais Informação
O computador deixa de responder (não reage) quando o SQL Server chama IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS).

Passos para reproduzir o comportamento

Para reproduzir o comportamento, execute o código de exemplo que se segue.

Nota : Este exemplo pressupõe que o ficheiro C:\MyDir\TextFile.txt tem 255 colunas.
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) não reagir desempenho acesso

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 290415 - Última Revisão: 01/16/2015 21:47:15 - Revisão: 4.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB290415 KbMtpt
Esta informação foi útil?