20 febbraio 2003 alle 15:28:22 Qualcuno di voi ha provato ad usare, invece che access, mysql come Db ? A me cambiando la stringa di connessione (mettendo quella corretta ovviamente, e di questo ne sono sicuro perchè la utilizzo in un progetto in vb), mi da degli errori. Grazie e sarebbe bello poter usare mysql.
20 febbraio 2003 alle 16:04:24 Cerca nel forum (ma prima di chiedere non lo fa mai nessuno?), e vedrai che molti altri hanno gia' fatto la stessa domanda, ed ottenuto la stessa risposta: no, attualmente non e' possibile, poiche' le sintassi SQL di Access e MySql sono diverse (ecco il motivo degli errori da te riscontrati). Ciao
Emu --------------- development@aspnuke.it
rauz Eliminato
0 Discussione
20 febbraio 2003 alle 17:00:26 In MySQL non ho ancora provato a modificarlo !!
Ma ho gia fatto la conversione in SQL e gia funziona !!
In base al fatto che MySQL e SQL sono similari ti posso dire che oltre alla stinga di connesione è necessario modificare alcune query, il tutto è dovuto al fatto che SQL e MySQL ad esempio passano come valiri 1 o 0 mentre access puo passare vero o falso !!
Quindi verifica le query !! Rimango a disposizione per ulteriori suggerimenti !
21 febbraio 2003 alle 11:09:44 Vorrei solo aggiungere che l'istruzione "TOP" di Access (e SQL Server) NON ESISTE sotto MySql ("LIMIT" agisce PRIMA dell'ORDER BY, e non dopo, quindi ottiene risultati diversi). In questo MySql somiglia a database piu' "seri", coem Oracle, ma cio' non toglie che questo limiti la compatibilità con i db Microsoft. Giusto per essere chiari, vi faccio un esempio: supponiamo di inserire in una tabella "tombola" nella colonna "numero" i numeri da 1 a 90 in ordine sparso. Ossia prima inseriamo il 56, poi il 12, poi l'8, e cosi' via fino ad averli inseriti tutti. A questo punto supponiamo di voler estrarre i primi tre numeri della tombola. per Access scriveremo:
SELECT TOP 3 * FROM tombola ORDER BY numero
Risultato: 1, 2, 3 per MySql invece:
SELECT * FROM tombola ORDER BY numero LIMIT 3
Risultato: 8, 12, 56 OVVERO I PRIMI TRE ELEMENTI ORDINATI PER NUMERO, ANZICHE' I PRIMI TRE ELEMENTI DELLA LISTA ORDINATA!
E' chiaro che, se inserisco i numeri in ordine, il risultato invece e' uguale. Se sto mostrando la lista degli articoli ordinata per data, probabilmente avro' risultati uguali perche' la data rispecchia per definizione l'ordine di inserimento (a meno che non sia stata modificata), ma se volessi ordinare con criteri diversi, otterrei risultati diversi.
Spero di non avervi annoiato con le mie spiegazioni, solo volevo chiarire che per usare MySql non basta cambiare solo le query, ma bisogna modificare anche un po' il codice asp (bisognerebbe quanto meno eliminare tutte le istruzioni TOP e limitare via codice il numero di righe mostrate nei cicli che scorrono i recordset). Ciao
Emu
--------------- development@aspnuke.it
baxeico Principiante
5 Discussioni
15 maggio 2003 alle 01:23:27 Sei sicuro di quello che dici? Hai fatto delle prove? Io ho installato la versione 4.0.12 e ho fatto delle prove per vedere cosa fa LIMIT. Ebbene, almeno nella mia versione "LIMIT n" prende i primi n record fra quelli ordinati con "ORDER BY" e non come dici tu i primi n record della tabella (per inserimento) ordinati dopo con "ORDER BY". E ti dirò di più, guarda cosa si legge nel manuale di MySQL (versione 4.0.12) per raccogliere l'articolo con maggior prezzo da un ipotetico database di prodotti:
Another solution is to sort all rows descending by price and only get the first row using the MySQL-specific LIMIT clause:
SELECT article, dealer, price FROM shop ORDER BY price DESC LIMIT 1
Se fosse come tu dici questa query restituirebbe sempre la prima riga della tabella e non certo l'articolo con il maggior prezzo.
Per quanto riguarda Aspnuke e MySQL volevo dirvi che ho convertito il portale per interfacciarsi a questo DB (vorrei farlo girare su Aruba senza problemi) e lo sto testando per trovare gli ultimi eventuali errori. Comunque posso dire che in generale funziona a meraviglia e che se può interessare lo renderei disponibile alla Community. Ho anche creato i file di dump con le query SQL per creare i database main e forum su MySQL in modo che il tutto sia facilmente installabile.
15 maggio 2003 alle 06:21:10 Modificato il 15 maggio 2003 alle 06:48:18Ne ero sicuro perche' ho installato MySQL sul mio Win 2000 ed ho fatto qualche prova. Ma era MySQL 3.2x, non 4.0, quindi puo' essere cambiato. Tuttavia cito dal manuale online di MySQL:
5.2.8 How MySQL Optimises LIMIT
In some cases MySQL will handle the query differently when you are using LIMIT # and not using HAVING:
If you are selecting only a few rows with LIMIT, MySQL will use indexes in some cases when it normally would prefer to do a full table scan. If you use LIMIT # with ORDER BY, MySQL will end the sorting as soon as it has found the first # lines instead of sorting the whole table.
Dato che e' un problema di ottimizzazione delle query, puo' darsi che adesso (con il 4.0) il problema si verifichi solo se sono presenti migliaia di record indicizzati in modi diversi, oppure che non abbiano ancora aggiornato il manuale online!. Ciao
--------------- development@aspnuke.it
baxeico Principiante
5 Discussioni
15 maggio 2003 alle 11:54:31 Boh, non è che vada fortissimo in inglese... però penso che questa frase:
If you use LIMIT # with ORDER BY, MySQL will end the sorting as soon as it has found the first # lines instead of sorting the whole table.
Si possa interpretare anche che MySQL, quando effettua un ordinamento con "ORDER BY" e c'è anche un "LIMIT n", non perde tempo ad ordinare tutta la tabella per poi prendere solo i primi n, ma ordina la tabella solo finchè non ha ordinato i primi n (che sono quelli che devono essere raccolti).
15 maggio 2003 alle 23:50:05 Si, puo' essere come dici tu, ma se cerchi un po' su google, scopri facilmente che in molti hanno riscontrato il mio stesso problema. Tuttavia ho scoperto anche che il funzionamento della clausola LIMIT e' stato ritoccato nella versione 3.23.28, nella 3.23.38 e nella 4.0.0, quindi non mi stupirei affatto che adesso funzioni correttamente, mentre nella mia installazione (ed in quella usata fino ad oggi da moltissimi utenti) no. Se e' cosi', ben venga la conversione di Aspnuke per mySQL! Ciao
Emu
--------------- development@aspnuke.it
redbaron76 Avanzato
163 Discussioni
16 maggio 2003 alle 10:42:44 E' inutile dire che, al di là dei soliti discorsi pro e contro Microsoft, MS SQL per AspNuke....è "la morte sua"...
Sto completando il porting del mio sito http://www.bisiacaria.com in SQL e il risultato è già visibile all'indirizzo http://www.mdbt.net/bisiacaria ....giudicate voi stessi in termini di caricamento (manca qualche immagine, lo so...). E' un altro mondo!
Quando finisco questo trasferimento, sarà mia cura preparare un articolo che spiega come abbandonare Access per passare su MS SQL.
Anche l'uso di MySQL è naturalmente possibile ma l'intervento sul codice di AspNuke, in particolar modo sulle queries, è decisamente più "aggressivo" e richiede un po' più di competenza.
Poi c'è sempre il solito dilemma...
Vale la pena Avere un database relazionale sotto per andare più veloci se poi il vostro provider è Aruba??
Se avete bisogno di prestazioni, allora investite qualche euro in più e prendetevi un provider "serio"....che difficilmente vi proporrà MySQL su piattaforma Microsoft.
Se invece il vostro scopo è quello di provare MySQL...beh... allora le cose cambiano ma, a mio avviso, non è certo la soluzione migliore....
--------------- Saluti e baci...
16 maggio 2003 alle 11:14:29 Complimenti Sia con la linea analogica che con quella digitale il risultato è sconcertante (r) Attendiamo con impazienza il tutorial --------------- Il silenzio è d'oro, specialmente quando non si ha nulla da dire...