Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    8

    Connessione a database Access sul web

    Salve, mi trovo davanti ad un problema che non riesco a risolvere.

    Devo sviluppare un applicazione c# in visual studio .NET che peremetta tramite la pressione di un pulsante di inserire un record in un database access (.MDB) situato su un server web.

    Il problema che non riesco a risolvere è quello di connettermi al suddetto database tramite la stringa di connessione (che penso sia sbagliata). Premetto che ho già realizzato connessioi a db access in locale senza troppi problemi.

    Ho fatto diversi tentativi ed il messaggio di errore è sempre lo stesso: Impossibile connettersi al server!

    Se cambio la stringa "Remote Server=x.x.x.x;" con "Remote Server=http://www.miosito.it;"
    L'errore diventa: Errore del server internet. Impossibile trovare il modulo o l'oggetto.

    Il problema principale su cui voglio far luce cmq è come faccio ad impostare nella connection string l'username e la password per accedere AL SERVER? (ATTENZIONE non l'user id e la password del database).
    Io ho aggiunto USER=xxxxxxxxx@aruba.it; PASS=xxxxxx; alla connection string ma ho provato anche altre diciture e anche senza (però credo sia impossibile accedere senza autenticarsi ad un file su server aruba) e non vorrei andare per tentativi infiniti.

    In effetti mi dovrei prima loggare al server aruba che ospita il sito con user e pw, poi effettuare l'inserimento nel db remoto.

    VI PREGO AIUTO, STO IMPAZZENDO

    Ringrazio anticipatamente il GENIO che risolve la faccenda (se esiste)!

    Il codice chè ho adesso nell'applicazione cmq è questo:


    string CONNECTIONSTRING = "Provider=MS Remote;" +
    "Remote Server=x.x.x.x; USER=xxxxxxxxx@aruba.it; PASS=xxxxxx;" +
    "Remote Provider=Microsoft.Jet.OLEDB.4.0;" +
    "Data Source=d:\\inetpub\\webs\\mywebsitefolder\\mdb-database\\database.mdb;";

    OleDbConnection conn = new OleDbConnection(CONNECTIONSTRING);

    private void button1_Click(object sender, EventArgs e) //parte quando si fa click sul bottone
    {
    string SQL = "INSERT INTO MyTable (MyRecord) VALUES ('XXX') ";
    try
    {
    conn.Open();
    OleDbCommand SQLcom = new OleDbCommand(SQL, conn);
    SQLcom.ExecuteNonQuery();
    }
    catch (Exception ex) // Gestore delle eccezioni in caso di errore della query SQL
    {
    MessageBox.Show("SQL error!: " + ex.Message + "\nSQL comm.: " + SQL, "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    finally
    {
    conn.Close();
    }

    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    NON puoi collegarti ad un db Access in remoto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    8
    Non ci son altri modi perchè un applicazione recuper dati dal web? Posso usare qualcosa come intermediario?

    Thanks!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi avere una applicazione web lato server che si interfacci al db localmente e colloqui con l'altra applicazione remota ...

    Puoi installare una applicazione web nel server?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    8
    No, il server aruba non peremette l'installazione di applicazioni in remoto.

    Qualcuno sa è possibile effettuare un'interrogazion tramite asp/php e poi fare in modo
    che l'applicazione legga una pagina web con i dati presentati in un certo formato.

    Es.

    Applicazione chiama la pagina ASP che viene processata e ritorna i risultati all'applicazione.

    Altrimenti mi sa che devo passare per forza ad un db mySql.
    Cmq se qualcuno ha altre soluzioni posti pure!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da lelig
    No, il server aruba non peremette l'installazione di applicazioni in remoto.
    Se non puoi agire lato server, non puoi accedere al db di access ...

    Qualcuno sa è possibile effettuare un'interrogazion tramite asp/php e poi fare in modo
    che l'applicazione legga una pagina web con i dati presentati in un certo formato.
    Ma se hai appena detto che non puoi installare nulla sul server ...

    Applicazione chiama la pagina ASP che viene processata e ritorna i risultati all'applicazione.
    E questa pagina asp come ci arriva nel server aruba? La puoi inserire tu o no?

    Altrimenti mi sa che devo passare per forza ad un db mySql.
    Mi sa che e' meglio ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    8
    Hai ragione, mi sono espresso male.

    Rettifico:
    Io posso accedere al server via FTP tramite username e password
    per trasferire pagine web ed altro SOLO NELLA DIRECORY DEL MIO SITO WEB e relative sottodirectory.

    Non posso avere il controllo GLOBALE del server, per installare applicazioni eseguibili ed altro sul server o ad esempio invocare procedure remote o file eseguibili su di esso. (altrimenti avrei ad esempio facilmente realizzato un'applicazione che legge i dati dal database intallata sul server e me li trasmette all'applicazione sul client)

    Adesso la mia ipotesi era questa:

    Se un applicazione LOCALE scritta in c# può leggere un determinato contenuto di una pagina pubblicata sul web ad un indirizzo http://www.xxx.xx/xxxxx.asp qualunque
    si potrebbe fare in modo che la suddetta pagina ASP sia proprio quella che contiene i dati estratti dal database che mi interessano e riproporli nell'applicazione c# in locale.

    confermando che il db mySQL è la via migliore volevo cmq sapere se l'idea è attuabile.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da lelig
    Adesso la mia ipotesi era questa ...
    Una pagina asp non contiene dati ma esegue del codice (magari legge dal db) e crea dinamicamente una pagina html che viene letta dal tuo browser ...

    Tu hai modo di scrivere il codice asp e trasferirlo al server per farlo eseguire?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    8
    Si, posso creare una pagina asp che contiene una query SQL che mi recupera una serie di record dal db e pubblicarla sul server.

    Quando un browser invoca la suddetta pagina asp, dopo che essa è stata processata, nel browser appare una pagina contenente semplicemente tutti i contenuti dei record interessati uno sotto l'altro.

    Se un'applicazioner c# LOCALE potesse connettersi all'indirizzo web di tale pagina, richiederla in modo da farla processare al server (come fa il browser) e leggerne il codice HTML risultante, il gioco sarebbe fatto.

    Che ne pensi?

  10. #10
    Altrimenti mi sa che devo passare per forza ad un db mySql
    Passando a Db MySQL devi fare un upgrade dell'abbonamento con Aruba(la differenza di costo non ricordo quanto sia ma non dovrebbe essere molto).
    Un'idea potrebbe essere:
    Crea due Db Access, uno dove ci sono tutti i dati che si trova nella App_Data e l'altro Db(protetto sempre da password e che inserisci per esempio nella cartella Public) che popoli temporaneamente con una semplice pagina ASP con i dati che ti servono. Dopodiché ti scarichi il Db che si trova in una cartella Public e ti fai l'aggiornamento del Db in locale...
    Ps. la pagina ASP che ti popola l'archivio temporaneo la puoi anche richiamare dal programma.
    Pps.L'idea di lasciare il Db temporaneo nella cartella pubblica potrebbe non essere l'ideale quindi potresti anche inviare un Db temporaneo(tramite FTP ti colleghi al server...)-> richiami la pagina ASP->ti scarichi il Db->esegui l'aggiornamento del Db locale->elimini il Db temporaneo dalla cartella Public.
    Non è una soluzione pulitissima ma potrebbe funzionare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.