FIX: Utilizzo del Provider Jet ricercare un file di testo server collegato da SQL Server potrebbe essere molto lenta

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 290415
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
BUG #: 236329 (RIFERIMENTO)
BUG #: 236615 (RIFERIMENTO)
BUG #: 352865 (RIFERIMENTO)
Sintomi
Quando si utilizza il provider OLE DB (provider OLE DB per Jet [Text IISAM]) per Jet per accedere da un server collegato SQL Server a un file di testo, la query potrebbe richiedere molto tempo. Le prestazioni di query lenta si verifica solo quando sono un numero elevato di colonne nel file di testo.
Cause
Il provider OLEDB di Jet è query Jet Gestione proprietà in modo da proprietà per ogni colonna. A partire da Jet 4.0 Service Pack 5 (SP5), la query viene eseguita in una modalità di massa, che velocizza notevolmente la query.
Risoluzione
Per risolvere il problema, ottenere il service pack più recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211INF: Come ottenere il Service Pack più recente per SQL Server 2000
Questo problema è stato risolto nella versione più recente di Jet Service Pack. Per ulteriori informazioni su come ottenere la versione più recente del modulo di gestione di database Jet 4.0, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
239114Procedura: Ottenere il Service Pack più recente per il motore di Database Microsoft Jet 4.0
Workaround
Per aggirare il problema, utilizzare un provider diverso per interrogare il file di testo da SQL Server.
Status
Microsoft ha confermato che questo un problema di Microsoft SQL Server 2000. Il problema è stato risolto nel Service Pack 1 per SQL Server 2000.
Informazioni
Il computer si blocca quando SQL Server richiama IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS).

Procedura per riprodurre il problema

Per riprodurre il problema, eseguire l'esempio di codice riportato di seguito.

Nota : questo esempio si presuppone che il file C:\MyDir\TextFile.txt disponga di 255 colonne.
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				
Accesso di prestazioni si blocchi IDBSchemaRowset::GetRowset(DBSCHEMA_COLUMNS)

Proprietà

ID articolo: 290415 - Ultima revisione: 01/16/2015 21:47:12 - Revisione: 4.2

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB290415 KbMtit
Feedback