Newsgroup: it.comp.lang.delphi
Titolo: Connessione al database

Ho ultimato un progetto web con turbo 
delphi.net
, ora sul mio pc tutto
funziona "quasi" perfettamente, nel senso che la connsessio al db ho
dovuto farla come segue:
  //connessione al db
   Path := HttpContext.Current.Server.MapPath('~\dll\mioDB.mdb');
   Connessione := OleDbConnection.Create;
   //Connessione.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.
4.0;data source="' + Path + '";persist security info=False';
   Connessione.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.
4.0;data   source="C:\Inetpub\wwwroot\mioprogetto\mioDB.mdb";persist
security info=False';
   qrySpedizione := OleDbCommand.Create(Sql,Connessione);
   try
      Connessione.Open();
   except
      on e: exception do begin
         lblErrori.Text := 'Impossibile connettersi al database....' +
' ' +e.Message;
         lblErrori.Visible := true;
      end;
   end;
E non mi spiego perchè non si connette con la prima connessione che ho
commentato...
ma con la seconda connessione sulla mia macchina tutto funziona.
Ora ho il problema di metterlo sul server del provider, ho commentato
la seconda connessione e  lancio la pagina con la prima connessione,
ed ottendo il seguente errore
Impossibile connettersi al database....
'D:\webdata\virtual\
orobicatrasporti.it
\dll\orobica.mdb' is not a
valid path. Make sure that the path name is spelled correctly and that
you are connected to the server on which the file resides.
Ora non so come procedere.....

 Ora non so come procedere.....
Gli errori mi sembrano abbastanza autoesplicativi: non riesce a 
collegarsi al database perché il percorso è specificato nel modo errato, 
o il nome del DB è diverso, o hai dato al DB un nome diverso da quello 
che si aspetta la connessione OLE DB.
Hai verificato queste condizioni?
Secondo me, il problema più grosso che hai, in realtà, è che stai 
utilizzando un'architettura (il .NET Framework) che segue precise 
convenzioni e modalità di funzionamento che devono essere note prima di 
imbarcarsi nella realizzazione di un'applicazione, parziale o completa, 
pena il continuo lambiccarsi su errori fornendo loro motivazioni che 
sono ben lontane da quella reale, che sfugge poiché non si conosce la 
piattaforma su cui si lavora.
Inoltre, devi anche informarti dal provider quali sono le modalità 
consentite per l'accesso ai database, quali sono le cartelle in cui ogni 
tipologia di dato, in base ai diritti che gli si vogliono attribuire o 
che deve avere, devono essere memorizzate.
Recupera queste informazioni e verifica le note che ti ho scritto, poi 
vediamo come procedere.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 vediamo come procedere.
Su questo nessun problema visto che le altre pagine che lavorano con
lo stesso db funzionano e non danno problemi.
tks

 lo stesso db funzionano e non danno problemi.
Le classi che utilizzi sono sempre le medesime, l'oggetto 
*OleDbConnection* fa riferimento alla piattaforma ADO, sia per .NET 1.1 
che per 2.0, sia in Delphi.NET che in altri linguaggi, pertanto se ti 
riesce una connessione in un ambito e non funziona nell'altro, c'è 
qualcosa di quest'ultimo che non hai aggiornato.
A questo punto, senza avere una padronanza completa, anche dei 
rudimenti, della piattaforma e del corretto deploy di un'applicazione, 
questo problema segnalato può essere dovuto a qualsiasi cosa: non hai 
aggiornato un file, non hai aggiornato una delle librerie nella cartella 
BIN (che contengono il codice delle pagine), non hai compiuto una delle 
operazioni necessarie ad ottenere l'effetto richiesto.
Ok, comprendo che è ovvio il fatto che se l'applicazione non funziona, 
un motivo senz'altro c'è; quello che sottolineo è il fatto che, in 
questo modo, è molto difficile individuarlo senza ripercorrere la storia 
del deploy, e non sono sicuro che tu lo abbia fatto correttamente, ma 
non saprei risalire a ciò che manca o è stato compiuto in modo errato se 
non elencando tutte le possibili ipotesi, e sono tante.
