Domanda

Ho il testo SQL "Seleziona * dalla tabella 1 con (NOLock)".

Due domande:

  1. Come faccio a far sì che il mio tadoquery usi il suggerimento di Nolock senza dover includerlo nel testo SQL? Ho letteralmente migliaia di tadoquery con il loro SQL costruito in modo dinamico e sarebbe difficile aggiungere con (Nolock) a tutti loro, per non parlare del fatto che utilizzo con piattaforme di database diverse da MSSQL. C'è una proprietà Tadoquery?

  2. Come posso ottenere la stessa cosa con un tadoto? TADOTABLE non ha alcun SQL, quindi come faccio a dire che usi il suggerimento Nolock?

Grazie

È stato utile?

Soluzione

Se si utilizza MS SQL, eseguire sotto l'istruzione una volta sulla connessione

Imposta il livello di isolamento delle transazioni leggi non impegnati

Cheer Ap

Altri suggerimenti

I suggerimenti sono specifici del database, quindi è necessario emettere quello corretto per ciascun database supportato. In alcuni database non c'è anche nulla di equivalente, ad esempio Oracle non consente nulla allo stesso modo (i lettori non bloccano mai scrittori e scrittori non bloccano mai i lettori, quindi non c'è bisogno).

IMHO non dovresti usare affatto componenti tadabili - comunque afaik non hai modo di specificare un suggerimento per la query generata - che è comunque troppo generico.

Inoltre dovresti esserlo MOLTO Attento a usare Nolock. Significa leggere non impegnato, alias Letture sporche. Stai aggirando la protezione delle transazioni e, a meno che tu non abbia un'ottima ragione per bypassarla che non dovresti: il guadagno delle prestazioni potrebbe non valere la perdita di integrità e coerenza dei dati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top