Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: aggiornamento database

  1. #11
    cString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/db/miodb.mdb")
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  2. #12
    niente da fare non funziona
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][Driver ODBC Microsoft Access] Nome file non valido.

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][ODBC Microsoft Access Driver] '(unknown)' 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.


    dopo varie prove sono fuso

    se i database sono entrambi in locale funziona, funziona anche se li metto tutti e due sul server remoto, ma quando provo a connettermi da locale a remoto niente...
    aiutooo

    domanda potrei tenere la pagina in locale per aggiornare il database in remoto?

    se il database risiede in: (http://www.miodominio.it/db/miodb.mdb)
    la stringa come dovrebbe essere per connettermi da locale? sempre se si può fare?

  3. #13
    scusate se mi intrometto,

    teorema una domanda: ma

    codice:
    server.MapPath("/db/miodb.mdb")
    non gli restituisce il percorso del database sul server REMOTO, ma solo quello sul server LOCALE, giusto?

  4. #14
    diciamo che sul percorso relativo nessun problema, è quello assoluto che proprio non funziona

  5. #15
    Già........santino ha ragione, in questo modo la connessione avviene sempre al database locale (rispetto al server dova si trova la pagina che dovrebbe provvedere all'aggiornamento), e il problema rimane sempre quello della connessione al database remoto..........


    :master:
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  6. #16
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    mi sa che gli converrà fare un UPLOAD del dump del DB


















    Ed altri paroloni
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  7. #17
    no allora diventa tutto inutile...
    non c'è possibilità di una connessione assoluta, dai non ci credo...
    neanche se il trasferimento lo faccio tra 2 asp, 1 in locale, l'altra in remoto.

  8. #18
    Utente di HTML.it L'avatar di jspippo
    Registrato dal
    Jul 2005
    Messaggi
    358
    Slave, scusate se m'intrometto ma anche io sto battagliando con questo tipo di problema.

    Il fatto quindi è trovare la stringa di connessione per il db remoto, giusto?

    Avete trovato qualcosa?

    Comunque se non ricordo male con Access una cosa simile non si potrebbe fare perchè le pagine devono stare sullo stesso server, giusto?

  9. #19
    Non è detto. Ho combattuto a lungo con la questione e ho realizzato uno script che, con i dati presenti su una tabella presente su un server in un dato dominio (per quanto riguarda il tuo problema, questa potrebbe essere la tabella del database locale.............), aggiorna un'altra tabella presente su un altro server su un altro dominio.

    E' chiaro che devi avere accesso come amministratore ad entrambi i domini.

    Lo script deriva da quello che avevo postato all'inizio. Ora sono diventati due.

    Sul primo server:

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <%
    Server.ScriptTimeout = 300
    %>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    
    <%
    prossimo = request.querystring("prossimo")
    
    'Stringa per la connessione
    cString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/marco.mdb")
    
    'creo e apro la connessione
    Set objConn=Server.CreateObject("ADODB.Connection")
    objConn.Open cstring
    
    'creo e apro il primo recordset, con i dati da utilizzare per l'aggiornamento
    set rs1 = server.createobject("ADODB.recordset")
    sql1 = "select * from prova1"	
    rs1.open sql1, objconn
    
    if (isnull(prossimo) AND cstr(prossimo)="") then
    rs1.movefirst
    else
    rs1.move(prossimo)   
    end if
    
    if not rs1.eof then
    
    id = rs1("id")
    response.write("Prossimo = "&prossimo&"
    ")
    response.write(id)
    indirizzo = "http://www.lamaisonservice.it/utilities/aggiorna.asp?id="&id
    
    for each campo in rs1.fields
    
    if campo.name<>"id" then
    
    nomecampo = campo.name
    valorecampo = campo.value
    
    indirizzo = indirizzo&"&"&nomecampo&"="&valorecampo
    
    end if
    
    next
    
    'chiudo e distruggo recordset e connessione
    
    rs1.close			
    set rs1 = nothing
    
    objConn.close
    set objconn=nothing
    
    response.redirect(indirizzo)
    
    end if
    
    
    
    'notifico che la procedura è andata a buon fine
    response.write("
    
    
    
    
    
    
    ")
    response.write("<div align='center'>Aggiornamento effettuato!</div>")
    %>
    </body>
    </html>
    Sul secondo server:

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <%
    Server.ScriptTimeout = 300
    %>
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    
    <%
    id = request.querystring("id")
    
    'Stringa per la connessione
    cString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/marco.mdb")
    
    'creo e apro la connessione
    Set objConn=Server.CreateObject("ADODB.Connection")
    objConn.Open cstring
    
    set rs2 = server.createobject("ADODB.recordset") 'creo il secondo recordset, sulla tabella da aggiornare
    	
    	sql2 = "select * from prova1 where id = '"&id&"'"   '...cerco il record corrispondente nella seconda tabella
    	rs2.open sql2, objconn		'apro il secondo recordset
    		
    		if rs2.eof then  'se il record non esiste nella seconda tabella.......
    			
    			'.....lo creo
    			sql3 = "insert into prova1  (id)  values ('"&id&"')" 
    			objconn.execute sql3
    		
    		end if
    		
    		
    
    rs2.close	'chiudo il secondo recordset....
    set rs2 = nothing   'distruggo il secondo recordset
    
    qs = request.servervariables("QUERY_STRING")
    dati = split(qs, "&")
    
    for i = 1 to Ubound(dati)
    		
    		nomecampo = left(dati(i), (instr(dati(i), "=")-1))
    		valorecampo = mid(dati(i), (instr(dati(i), "=")+1))
    		
    			sql4 = "update prova1 set "&nomecampo&"='"&valorecampo&"' where id='"&id&"'"
    			objconn.execute sql4
    
    next
    
    
    
    'chiudo e distruggo la prima connessione
    objConn.close
    set objconn=nothing
    
    tanga=id
    response.redirect("http://www.lamaisonservice.com/utilities/aggiorna.asp?prossimo="&tanga&"")
    %>
    </body>
    </html>
    La cosa è un po' complicata: lo script legge uno per uno i records della prima tabella e poi trasferisce i dati via querystring al secondo database con un response.redirect.

    Le due tabelle hanno la stessa struttura.

    La tabella con i dati da usare per l'aggiornamento è questa

    Quella da aggiornare con i dati della prima è questa (naturalmente è una copia, visto che, dopo fatto girare lo script una volta, le due tabelle sono diventate identiche. Come si vede, le due si trovano su domini diversi.

    Per l'aggiornamento non faccio altro che visitare questa pagina , cioè la prima delle due che ho postato.

    Forse si piò fare di meglio e di più, ma questo è un modo..............
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  10. #20
    Nel primo script, nell'istruzione

    if (isnull(prossimo) AND cstr(prossimo)="") then
    quell' AND potrebbe forse meglio essere un OR ...............mentre le righe
    response.write("Prossimo = "&prossimo&"
    ")
    response.write(id)
    servivano come controllo, si possono rimuovere.......

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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.