"/> Prova connessione
Risultati da 1 a 7 di 7

Discussione: Prova connessione

  1. #1

    Prova connessione

    Salve,
    da un altro Forum "iPro....", ho recuperato un vostro script:

    <%@ Language=VBScript %>
    <HTML>
    <HEAD>
    <TITLE>
    Prova di connessione
    </TITLE>
    </HEAD>
    <BODY>
    <%
    Option Explicit
    On Error Resume Next
    Dim adoCon
    Dim strConnString
    Dim strTmp
    Dim n
    Dim d
    strConnString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("./MIO_SITO.xx/db/database.mdb") '## MS Access 97 on Brinkster
    'Determino il timeout dello script
    Server.ScriptTimeout = 90
    'Setto la variabile per una connessione ADO
    Set adoCon = Server.CreateObject("ADODB.Connection")
    n = err.number
    d = err.Description
    if n then
    strTmp = "Errore: " & n & " - " & d
    %>
    <!-- HTML -->
    (1) ERRORE: <%=strTmp%><BR>
    <!-- // HTML -->
    <%
    endif
    adoCon.Open strConnString
    n = err.number
    d = err.Description
    if n then
    strTmp = "Errore: " & n & " - " & d
    %>
    <!-- HTML -->
    (2) ERRORE: <%=strTmp%><BR>
    <!-- // HTML -->
    <%
    endif
    %>
    </BODY>
    </HTML>


    Giovanni

    Innanzi tutto ho dovuto apostrofare la linea "Option Explicit" poichè mi dava errore, per il resto in risposta mi da:
    (2) ERRORE: Errore: 424 - Necessario oggetto

    Il mio problema è:
    Server1 è dove risiede il DB perfettamente funzionante.
    Server2 è dove risiede un form da immettere i dati che dovrebbero essere registrati sul Db del Server1.
    Tutto questo per avere un unico Db dove convogliare tutte le registrazioni.
    C'è una soluzione a questo
    Grazie Roberto

  2. #2
    E' praticamente impossibile accedere attraverso più server ad un solo database, soprattutto se è Access. Dipende naturalmente dalla configurazione del server dove risiede il database, ma permettere l'accesso da diversi server potrebbe essere un problema di sicurezza.

    Normalmente la configurazione server permette l'accesso soltanto dal localhost, ossia dalla macchina 127.0.0.1.

    Per accedere da altre macchine al server, è necessario aprire le porte di comunicazione che sono utilizzate dal driver ODBC, ed inoltre permettere l'accesso remoto dal driver del database stesso.

    Credo che per solo Access non vi siano molte soluzioni. Consiglierei di utilizzare il database MySQL per le applicazioni web, in quanto freeware anche per applicazioni commerciali, e circa 3 volte più veloce di MS SQL Server.

    Naturalmente anche con MySQL si devono aprire le porte e permettere alle applicazioni remote di accedere ai dati. Tutto sommato però si hanno meno problemi in rispetto ad Access, e in confronto ad MS SQL Server è una scelta giustificata da più punti di vista, soprattutto dal prezzo di acquisto.

  3. #3
    PS: Se l'applicativo sulla macchina 2 si comporta come un client, naturalmente si possono inviare i dati al server 1, come se si trattasse di un comunissimo invio dati tramite html.

    Sarà necessario fare uno script che invia anche gli header assieme ai dati al server destinazione. Non avrà però accesso diretto al database.

  4. #4
    Grazie per la risposta,
    in sintesi la macchina2 si comporterebbe proprio come un client visto che deve scrivere sul Db della macchina1.
    il problema e che dando i parametri :

    Set adoCon = Server.CreateObject("ADODB.Connection")
    strDataBasePath = "www.miosito\mdb-database\utenti.mdb"
    cString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(strDataBasePath)

    non riesco a collegarmi.
    se non ci sei non ti vedono
    Roberto
    PostaEmail
    ZioRoby

  5. #5
    Originariamente Scritto da robertonow
    Grazie per la risposta,
    in sintesi la macchina2 si comporterebbe proprio come un client visto che deve scrivere sul Db della macchina1.
    il problema e che dando i parametri :

    Set adoCon = Server.CreateObject("ADODB.Connection")
    strDataBasePath = "www.miosito\mdb-database\utenti.mdb"
    cString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(strDataBasePath)

    non riesco a collegarmi.
    La macchina2 non può vedere il percorso dato da www.miosito\mdb-database\utenti.mdb. E' come se volessi cliccare sul collegamento qui sulla pagina.

    In due parole:

    Non è possibile accedere a un database Access remoto nel modo indicato, soltanto la macchina1 può accedere, e questo è il comportamento corretto.

    Esteso:

    Il problema sta nel driver ODBC di Access che non permette connessioni remote.

    Per accedere ai dati dalla macchina2, è necessario inviare mediante un flusso html (come se fosse inviato da un browser), i dati da registrare o da leggere.

    E' un po' difficile da spiegare e comprendere, mi rendo conto . Cioè lo script sulla macchina2 deve fare finta di essere un browser, e questo non è proprio una cosa semplicissima, ma a volte l'unica possibilità per superare le barriere date da un sistema di protezione o di applicativi web.

    Normalmente, si risolve il problema, accedendo da entrambe le macchine sul database in locale, e in un secondo tempo si sincronizzano i dati. La sincronizzazione viene avviata da una macchina e richiede praticamente tutti gli aggiornamenti fatte sull'altra, ma è un metodo macchinoso e ricorda ai tempi delle schede perforate; viene ancora usato largamente nei centri di elaborazione dati (CED), usando tracciati particolari. Nel nostro piccolo si farebbe con un collegamento FTP avviato ogni tanto e scambiandosi piccoli file con i dati variati.

    Oppure si usa un database che è stato creato per applicazioni remote, come MySQL e MS SQL Server, che non hanno questi problemi di connessione.

    Entrambi i sistemi hanno pregi e difetti.

    Il sistema tramite aggiornamento tracciato è 100% sicuro ed inattaccabile dall'esterno, ma i dati non sono aggiornati in tempo reale, e c'è il rischio di perdere dati durante la sincronizzazione.

    Il sistema del database con accesso remoto ha il vantaggio che più applicativi possono accedere agli stessi dati, ma lo svantaggio che i dati possono essere scoperti dall'esterno, e sovrasscritti dall'ultimo che salva (modifica dello stesso record da più utenti).

    E comunque sia, se l'impostazione del server che contiene il database, non consente l'accesso da macchine remote, questo si comporta come Access.

  6. #6
    Dopo questa esaudiente risposta, mi rendo conto di essere un pesce fuori dall'acqua; mia nonna bonanima all'età di 90 anni si rammaricava di morire poichè diceva che aveva ancora tanto da imparare.
    E' evidente che non è facile fare un buon caffe.
    Non ho mai lavorato con MySQL e credo che ne sia arrivato il tempo; cercherò qualche programma che mi converta i i file .MDB in MySQL. Sai dove posso reperire MySql per cominciare a studiare!!??
    Per il resto cercherò una soluzione alternativa.
    Resta inteso che un grazie è poco ti devo di più.
    Tanto per capire il famoso errore: (2) ERRORE: Errore: 424 - Necessario oggetto
    usando lo script prova connessione a cosa si riferisce?
    se non ci sei non ti vedono
    Roberto
    PostaEmail
    ZioRoby

  7. #7
    Non ho mai lavorato con MySQL e credo che ne sia arrivato il tempo; cercherò qualche programma che mi converta i i file .MDB in MySQL. Sai dove posso reperire MySql per cominciare a studiare!!??
    Per imparare come usare MySQL consiglio di installarlo su un PC in locale e fare delle prove di configurazione. E' tutto molto semplice, ma è necessario entrare nel concetto della semplicità, che con Windows è andata un po' persa.

    In realtà non c'è molto da imparare in quanto è intuitivo e il linguaggio SQL si differisce soltanto in alcune parti, soprattutto nell'aggiuntiva funzionalità. I manuali sono esaurienti, ma di difficile consultazione, e in più tutti in inglese. Ma ho visto che qualche editore si è dato una mossa e sono disponibili manuali tradotti e redatti in modo leggibile per il non-tecnico .

    Dall'applicativo Client che si trova all'interno del pacchetto, si può accedere al server MySQL appena installato, e configurare sia il server che il client. Unica attenzione da fare è che il nome utente del database e la password non devono contenere il punto ('.') come carattere.

    Con il driver ODBC è possibile connettersi con Access al database MySQL, e quindi fare il travaso dati tramite semplici query. Funziona perfettamente anche da eseguibili standalone scritti in Visual Basic, sempre che hanno l'accesso alla macchina remota.

    Tanto per capire il famoso errore: (2) ERRORE: Errore: 424 - Necessario oggetto usando lo script prova connessione a cosa si riferisce?
    Questo errore indica che il recordset non può essere creato perché la connessione al server è fallita.

Discussioni Simili

  1. Problemi con le stringhe connessione
    Di Admin nel forum ASP
    Risposte: 1
    Ultimo Messaggio: 06-03-2005, 14:53
  2. Risposte: 0
    Ultimo Messaggio: 31-05-2004, 02:13

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •