Newsgroup: it.comp.lang.delphi
Titolo: Distribuzione di applicazioni con MySql

Ciao a tutti,
sapreste indicarmi il modo migliore per distribuire le applicazioni
che fanno uso di MySql senza che l'utente debba installarlo e
configurarlo a parte? La necessità nasce dal fatto che la procedura di
installazione verrà effettuata anche da utenti poco o per nulla
esperti.
Grazie mille in anticipo

 esperti.
Per prima cosa acquistare una licenza OEM.
Poi, puoi tranquillamente integrare l'installazione di MySQL
all'interno dell'installer della tua applicazione, e' piuttosto
semplice, trovi tutte le informazioni che ti servono nel manuale di
MySQL.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto programmatore Delphi?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

Grazie per la tua risposta Filippo.
Perchè è necessaria una licenza OEM?

Che fanno uso o con dentro MySQl ??
--- posted by geoForum on 
http://www.delphiedintorni.it

 Perchè è necessaria una licenza OEM?
Per favore, 
http://wiki.news.nic.it/QuotarBene
Se il tuo prodotto non e' open source, e' necessaria una licenza OEM
per la distribuzione di MySQL.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?


 --- posted by geoForum onhttp://
www.delphiedintorni.it
In pratica l'applicazione lavora con un DB MySql, e vorrei
distribuirla permettendone un'installazione semplice (anche per i non
addetti ai lavori)

 MySQL.
Queste informazioni si trovano sul sito web di MySql? Finora non le ho
trovate

 trovate
[quote]
trovi tutte le informazioni che ti servono nel manuale di MySQL
[/quote]


 [/quote]
Perfetto. Ma questo manuale è disponibile online oppure è un libro?

addetti ai lavori)
Se non distribuisci MySQL non hai bisogno di nessuna licenza per quanto 
ne so. Usi solo un SQL del DB in questione credo non vi siano 
limitazioni.
Se l'SQL fosse non utilizzabile con licenza puoi sempre fare dei file di 
config. esterni al programma che apparirebbe del tutto generale 
configurabile con il DB in questione.
Quindi ritornando al discorso principale, se non distribuisci MySQL nel 
tuo prodotto magari perchè l'acquisto di una licenza OEM non è per te 
conveniente, ti conviene creare un programma di supporto che punta al 
link del download di MySQL e lo configura automaticamente creando magari 
un file UDL se usi ADO che in fondo è un file di testo.
Sei proprio sicuro che ti serva MySQL? Ci sono DB molto più open source 
che non contemplano licenze di distribuzione. Tipo hsqldb per DB 
piccolini meglio però approfondire.
Ciao


Hsqldb o Access vanno benissimo per applicazioni mono utente, ma in
questo caso mi serve sviluppare un sistema client server multi utente,
quindi credo che MySql sia un'ottima soluzione per tale scopo.
Potresti dirmi di più sui file UDL per la configurazione automatica?


Innanzitutto devi usare ADO (o anche ODBC passando per i driver ado di 
windows) prova a creare un file di testo gli cambi l'estensione in .udl
Lo configuri come vuoi. A questo punto gli cambi nuovamente l'estensione 
e vedi che è un semplice file di testo.
Fai copiare l'UDL configurato e fai downlodare mysql.


 file UDL se usi ADO che in fondo h un file di testo.
Se l'applicazione utilizza la libreria client di MySQL per connettersi
al database, oppure un driver che utilizzi il protocollo nativo di
MySQL per dialogare con il database, non hai risolto nulla.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista Delphi?


 Fai copiare l'UDL configurato e fai downlodare mysql.
Ok. Ma dopo il download di MySql non bisogna installarlo e
configurarlo?
Mi sembra di capire che i file UDL servano solo per la connessione al
DB...

MySQL per dialogare con il database, non hai risolto nulla.
Se........ 
L'applicazione usa solo un linguaggio SQL caratteristico di MYSQL nessun 
problema per quanto ne so. Sono fatti di chi usa l'applicazione che DB 
ci mette. Basta non distribuire né driver né librerie.
Facendo un esempio l'applicazione usa ADO di Delphi con l'UDL. Si può 
benissimo fare un programma o una pagina web step by step di supporto 
per l'installazione di MySQL e dei suoi driver e per configurarlo. In 
quanto non è esso una applicazione che usa MySQL.
Chiaro tutto più semplice se si distribuisce insieme questo dipende 
dalla propria scelta.


Ok si è chiaro, ma non capisco a cosa giova l'uso di UDL... mi
sembrerebbe che serva solo per la connessione al DB, e quindi potrebbe
aiutare perchè permette di non connettersi al DB tramite DSN, quindi
si potrebbe evitare la creazione di un DSN sul computer target

 quanto non h esso una applicazione che usa MySQL.
Certo, se non fosse che ADO utilizza la libreria MySQL per accedere al
database, per cui l'applicazine "as part of utilizing your application,
the end-user must download a copy of MySQL" ... "need a commercial
license for the MySQL server and/or MySQL client libraries".
Anche se l'applicazione utilizza le libreria MySQL tramite ADO, la
licenza commerciale e' comunque richiesta.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?


database
Finchč non si installano i driver ADOgo non utilizza nessuna libreria. E 
la libreria se la installa l'utente in base alle licenze che ha lui.
Non č trollaggio l'argomento mi interessa.
A questa stregua io faccio un front-end per inviare comandi SQL a DB 
generali e devo comprare tutte le licenze dei DB in commercio ?
Sarebbe assurdo. ADO viene fornito da Delphi come pacchetto 
distribuibile e non contiene nessuna libreria MySQL.
Ciao


 contiene nessuna libreria MySQL.
Certo, ma come fa ADO per connettersi a MySQL? Utilizza
MyODBC/Connector etc. per cui la tua applicazione utilizza le librerie
di MySQL o, come gia' scritto varie volte, utilizza un driver che
utilizza il protocollo nativo di MySQL. In ogni caso, come scrive MySQL
AB sul suo sito, "you (or, in some cases, your end-user) need a
commercial license for the MySQL server and/or MySQL client libraries".
Visto che continuo a riportare le stesse argomentazioni e tu continui a
non postare alcunche' a supporto delle tue affermazioni, il mio
contributo a questo thread termina qui.
Per carmelo, se ti fidi di troll, non acquistare nessuna licenza ne
richiedere ai tuoi clienti di farlo.
Se non ti fidi del mio giudizio o di quanto scritto da MySQL AB sul
proprio sito ma hai ancora dei dubbi, ti prego di contattare MySQL AB
direttamente, onde evitare le probabili violazioni di licenza a cui
andrai incontro.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto programmatore Delphi?


Se io faccio una applicazione che attraverso ADO invia istruzioni SQL 
non devo *IO* acquistare nessuna licenza.
Sono cavoli del cliente.
- Sceglie il DB
- Si scarica i driver per ADO
- Si paga le licenze
Nessuna libreria MySQL fornita da Delphi in ADOgo.
Inoltre io non devo informare nessuno sono cavoli del cliente sapere se 
usa un DB che tipo di licenza deve avere.
Attenzione inoltre al concetto di derivative work. Contatta MySQL e 
digli, devo fare un'applicazione che invia comandi SQL per DB devo avere 
la Vostra licenza, senti cosa ti rispondono.


Ok siete stati molto esaustivi nello spiegare un argomento che non
avevo neanche pensato di affrontare, infatti credevo che essendo MySql
open source non ci sarebbero stati problemi di licenze varie, ma
invece non è così...
Quindi mi sa che se non è proprio necessario, cioè se non si tratta di
applicazioni ad utilizzo intensivo e multi utente del db, non lo
userò...
Conoscete qualche buona alternativa free ed open source a MySql ?
Grazie
Carmelo

postgres.. Sicuramente e la versione di Oracle free.
Vedasi aspetti di licenze che non conosco.
Aggiungo soltanto che la materia come dice Filippo che se ne intende 
(questo è palese) è comunque complessa.
Sta di fatto che MySQL non può vietare a nessuno di commercializzare una 
applicazione che usi SQL + ADO anche se poi chi la compra usa MySQL.
Saranno semmai problemi del Cliente.
