Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Il dialetto SQL varia in base a Provider o Database utilizzato o tutti e 2?

Salve, come da oggetto vorrei sapere se le variazioni di dialetto SQL 
dipendono da:
1) provider utilizzato
2) database utilizzato
3) tutti e due
4) altro
GRAZIE 



In effetti ci sono tanti dialetti quanti sono i produttori, ciascuno
dei quali ha implementato una parte "proprietaria" rispetto ad un
riferimento comune "SQL-92".
=======================================================================
Se mi vuoi scrivere togli le maiuscole
Sveltolampo 
cteniza...@hotmail.com
=======================================================================

 riferimento comune "SQL-92".
quindi? non ho capito se la risposta è la 1 2 o 3?!?
se mi collego ad un db SQL Server tramite oledb e poi tramite odbc e poi 
tramite 
provider.net
 posso usare la stessa sintassi sql?!?
GRAZIE 



Mi sembrava di essere stato chiaro: ci sono tanti dialetti quanti sono
i produttori. Naturalmente ciascun dialetto differisce dagli altri
(altrimenti non sarebbe un dialetto) per qualche cosa.
Per poter utilizzare la sintassi esatta nei confronti di un provider
in un ipotetico "comando sql" devi informarti sul singolo
provider/database da gestire.
In definitiva: che funzioni su un provider NON ti garantisce che
funzioni su tutti i provider, se hai utilizzato delle cose specifiche
del provider hai invece la quasi certezza che sugli altri NON
funzionerà.


Cioč - scusate se mi intrometto - io che uso MySQL, se mi connetto al db 
usando i Driver ODBC 3.51 e uso una certa sintassi, collegandomi in 
altro modo potrei avere errori di sintassi? :\
Uhm..... mi pare strano :| Io penso che al massimo qualcosa potrebbe non 
essere ancora implementata su un driver/provider ma un cambio di 
sintassi mi pare strano...
Attendo conferme o smentite...
-- 
Quando noi ignoranti eravamo di piů, tutto era piů bello (A. Celentano).
  ___   _   ___ _  _______   _______ ___
|   \ /_\ | _ \ |/ / _ ) \ / /_   _| __|
| |) / _ \|   / ' <| _ \\ V /  | | | _|
|___/_/ \_\_|_\_|\_\___/ |_|   |_| |___|

sintassi mi pare strano...
Sintassi, non credo. Ogni tanto pero' ci sono cose che ti fanno
impazzire. Un esempio di qualche tempo fa - nel frattempo potrebbe
essere stato corretto): se uso un data provider OLEDB, un GUID va
passato a SQLServer senza parentesi, mentre se usi un data source ODBC
le parentesi vanno messe.
--
Ciao!
Luca Menegotto

 GRAZIE 
Prego,
Andrea

Attendo conferme o smentite...
Naturalmente tutti i provider fanno riferimento ad un set "minimo" di
istruzioni sql applicati ed accettati da tutti.
Se perň cominciamo a scrivere del codice iniziano subito le
differenze.
Anche un banalissimo select * from table riporta una differenza tra i
database (alcuni hanno il default sul minuscolo, altri sul maiuscolo,
altri ancora non sono case sensitive).
I problemi iniziano ad aumentare quando andiamo a creare campi e
tabelle, indici, ecc.
Se tutti rispondessero ai medesimi comandi ora avremmo un solo driver
invece di uno per produttore.


Beh finchč si parla di differenza fra MySQL e MS-SQL lo posso capire 
benissimo, ma per lo stesso DB puň cambiare qualche regola nelle query 
usando provider/driver diversi?


usando provider/driver diversi?
Sullo stesso provider non credo che le differenze siano abissali, sono
però in alcuni casi sufficienti per fare in modo che magari uno
funzioni bene e un'altro invece dia dei problemi.
E' il caso ad esempio dei driver per oracle o di db2 (as400).
