FIX: Messaggio di errore quando si utilizza la classe OdbcCommandBuilder per aggiornare un database Sybase in.NET Framework 2.0: "generazione SQL dinamica non supportata per un SelectCommand che non restituisce le informazioni della tabella di base"

Bug #: 50000957 (Hotfix SQL)

Sintomi

Si consideri il seguente scenario. Si sviluppa un progetto utilizzando Microsoft Visual Studio 2005. Si tenta di utilizzare la classe OdbcCommandBuilder per aggiornare un database Sybase di Microsoft.NET Framework 2.0. In questo scenario, viene visualizzato il seguente messaggio di errore:
InvalidOperationException - generazione SQL dinamica non supportata per un SelectCommand che non restituisce le informazioni della tabella di base.
Nota: Questo problema si verifica quando si utilizza il driver ODBC di Sybase per connettersi al database.

Causa

Questo problema si verifica se sono vere le seguenti condizioni:
  • Il driver utilizzato per connettersi al database non supporta la funzione SQLColAttribute(SQL_DESC_BASE_TABLE_NAME) . Quando utilizza questa funzione, il driver restituirà una stringa vuota.
  • Il driver restituisce un carattere vuoto ("") quando il driver utilizza la funzione SQLGetInfo(SQL_IDENTIFIER_QUOTE_CHAR) .

Risoluzione

Informazioni sull'hotfix

Un hotfix supportato è ora disponibile da Microsoft. Tuttavia è destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo ai sistemi in cui si verificano questo problema specifico. Questo hotfix potrebbe essere sottoposto ad ulteriori test. Pertanto, se il problema non causa gravi difficoltà, consiglia di attendere la versione successiva del Service pack di Microsoft.NET Framework 2.0 contenente tale hotfix.

Per risolvere immediatamente questo problema, contattare il supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo dei numeri di telefono supporto tecnico clienti Microsoft e informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft:Nota: In casi particolari, le spese normalmente addebitate per le chiamate di supporto potrebbero essere annullate qualora un addetto al supporto Microsoft determina che uno specifico aggiornamento risolverà il problema. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

Prerequisiti

Non è richiesto alcun prerequisito.

Informazioni sul riavvio

Potrebbe essere necessario riavviare il computer se viene utilizzato il file System.Data.Dll.

Informazioni del Registro di sistema

Non è necessario modificare il Registro di sistema.

Informazioni sui file

Questo hotfix contiene solo i file necessari per correggere i problemi elencati in questo articolo. Questo hotfix potrebbe non contenere tutti i file che sono necessari per aggiornare completamente un prodotto all'ultima build.
Versione inglese di di questo hotfix presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in base al formato UTC (Coordinated Universal Time Coordinated). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e ora locale, utilizzare la scheda fuso orario nell'elemento di Data e ora nel Pannello di controllo. Il.NET Framework 2.0, versione a 32 bit
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
Mscordacwks.dll2.0.50727.816801,79209-Mar-200703:18x86
Mscorjit.dll2.0.50727.816326,65609-Mar-200703:18x86
Mscorlib.dll2.0.50727.8164,308,99209-Mar-200703:18x86
Mscorpe.dll2.0.50727.816102,91209-Mar-200703:18x86
Mscorwks.dll2.0.50727.8165,625,85609-Mar-200703:18x86
Normalization.dll2.0.50727.81615,36009-Mar-200703:18x86
Normidna.nlpNon applicabile59,34209-Mar-200703:18Non applicabile
Normnfc.nlpNon applicabile45,79409-Mar-200703:18Non applicabile
Normnfd.nlpNon applicabile39,28409-Mar-200703:18Non applicabile
Normnfkc.nlpNon applicabile66,38409-Mar-200703:18Non applicabile
Normnfkd.nlpNon applicabile60,29409-Mar-200703:18Non applicabile
Peverify.dll2.0.50727.816136,19209-Mar-200703:18x86
Sos.dll2.0.50727.816382,46409-Mar-200703:18x86
System.data.dll2.0.50727.8162,902,01609-Mar-200703:18x86
.NET Framework 2.0, versione basata su x64
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
Mscordacwks.dll2.0.50727.8161,597,44008-Mar-200719:20x64
Mscordacwks.dll2.0.50727.816801,79209-Mar-200703:18x86
Mscorjit.dll2.0.50727.8161,587,71208-Mar-200719:18x64
Mscorjit.dll2.0.50727.816326,65609-Mar-200703:18x86
Mscorlib.dll2.0.50727.8163,960,83208-Mar-200722:41x64
Mscorlib.dll2.0.50727.8164,308,99209-Mar-200703:18x86
Mscorpe.dll2.0.50727.816157,18408-Mar-200719:13x64
Mscorpe.dll2.0.50727.816102,91209-Mar-200703:18x86
Mscorpjt.dll2.0.50727.8162,004,99208-Mar-200719:19x64
Mscorwks.dll2.0.50727.81610,331,13608-Mar-200719:16x64
Mscorwks.dll2.0.50727.8165,625,85609-Mar-200703:18x86
Normalization.dll2.0.50727.81618,43208-Mar-200719:17x64
Normalization.dll2.0.50727.81615,36009-Mar-200703:18x86
Normidna.nlpNon applicabile59,34208-Mar-200719:19Non applicabile
Normidna.nlpNon applicabile59,34209-Mar-200703:18Non applicabile
Normnfc.nlpNon applicabile45,79408-Mar-200719:19Non applicabile
Normnfc.nlpNon applicabile45,79409-Mar-200703:18Non applicabile
Normnfd.nlpNon applicabile39,28408-Mar-200719:19Non applicabile
Normnfd.nlpNon applicabile39,28409-Mar-200703:18Non applicabile
Normnfkc.nlpNon applicabile66,38408-Mar-200719:19Non applicabile
Normnfkc.nlpNon applicabile66,38409-Mar-200703:18Non applicabile
Normnfkd.nlpNon applicabile60,29408-Mar-200719:19Non applicabile
Normnfkd.nlpNon applicabile60,29409-Mar-200703:18Non applicabile
Peverify.dll2.0.50727.816205,82408-Mar-200719:18x64
Peverify.dll2.0.50727.816136,19209-Mar-200703:18x86
Sos.dll2.0.50727.816480,76808-Mar-200719:27x64
Sos.dll2.0.50727.816382,46409-Mar-200703:18x86
System.data.dll2.0.50727.8162,967,04008-Mar-200722:41x64
System.data.dll2.0.50727.8162,902,01609-Mar-200703:18x86
.NET Framework 2.0, versione architettura Itanium
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
Mscordacwks.dll2.0.50727.8162,719,23208-Mar-200719:21IA-64
mscordacwks.dll2.0.50727.816801,79209-Mar-200703:18x86
Mscorjit.dll2.0.50727.8162,705,92008-Mar-200719:19IA-64
Mscorjit.dll2.0.50727.816326,65609-Mar-200703:18x86
Mscorlib.dll2.0.50727.8163,960,83208-Mar-200722:48IA-64
Mscorlib.dll2.0.50727.8164,308,99209-Mar-200703:18x86
Mscorpe.dll2.0.50727.816313,85608-Mar-200719:12IA-64
Mscorpe.dll2.0.50727.816102,91209-Mar-200703:18x86
Mscorpjt.dll2.0.50727.8163,501,05608-Mar-200719:19IA-64
Mscorwks.dll2.0.50727.81621,314,56008-Mar-200719:17IA-64
Mscorwks.dll2.0.50727.8165,625,85609-Mar-200703:18x86
Normalization.dll2.0.50727.81644.03208-Mar-200719:18IA-64
Normalization.dll2.0.50727.81615,36009-Mar-200703:18x86
Normidna.nlpNon applicabile59,34208-Mar-200719:20Non applicabile
Normidna.nlpNon applicabile59,34209-Mar-200703:18Non applicabile
Normnfc.nlpNon applicabile45,79408-Mar-200719:20Non applicabile
Normnfc.nlpNon applicabile45,79409-Mar-200703:18Non applicabile
Normnfd.nlpNon applicabile39,28408-Mar-200719:20Non applicabile
Normnfd.nlpNon applicabile39,28409-Mar-200703:18Non applicabile
Normnfkc.nlpNon applicabile66,38408-Mar-200719:20Non applicabile
Normnfkc.nlpNon applicabile66,38409-Mar-200703:18Non applicabile
Normnfkd.nlpNon applicabile60,29408-Mar-200719:20Non applicabile
Normnfkd.nlpNon applicabile60,29409-Mar-200703:18Non applicabile
Peverify.dll2.0.50727.816383,48808-Mar-200719:19IA-64
Peverify.dll2.0.50727.816136,19209-Mar-200703:18x86
Sos.dll2.0.50727.816862,72008-Mar-200719:29IA-64
Sos.dll2.0.50727.816382,46409-Mar-200703:18x86
System.data.dll2.0.50727.8163,109,88808-Mar-200722:48IA-64
System.data.dll2.0.50727.8162,902,01609-Mar-200703:18x86

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Ulteriori informazioni

Informazioni sullo stack

System.InvalidOperationException was caught  Message="Dynamic SQL generation is not supported against a SelectCommand that does not return any base table information."
Source="System.Data"
StackTrace:
at System.Data.Common.DbDataAdapter.UpdatingRowStatusErrors(RowUpdatingEventArgs rowUpdatedEvent, DataRow dataRow)
at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
at vs2005Sybase.Form1.Button2_Click(Object sender, EventArgs e)

Per ulteriori informazioni sulla terminologia degli aggiornamenti software, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

824684 descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

ID articolo: 934055 - Ultima revisione: 31 gen 2017 - Revisione: 1

Microsoft .NET Framework 2.0

Feedback