none
SQL ASP CLASSIC copiare tabella da un db all'altro RRS feed

  • Domanda

  • Ho due db access nella stessa cartella del mio server.

    Vorrei copiare completamente la tabella "Users" dal primo al secondo in una pagina asp.
    Ho letto di un comando "SELECT * INTO ....... ma non so come usarlo in asp

    chi mi puo aiutare?

    allego le funzioni che uso

    codice:

    file config.asp
    
    <%
      Option Explicit
      On Error Resume Next
      Response.Buffer = True
      Response.Expires = 0
      ' ----- ----- ----- ----- -----
      Dim sc, cn, rs, cn_bk, rs_bk
      ' ----- ----- ----- ----- -----
      Function ConnOpen()
        sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
        sc = sc & Server.MapPath("/mdb-database/ecom.mdb")
        Set cn = Server.CreateObject("ADODB.Connection")
        Set rs = Server.CreateObject("ADODB.Recordset")
        cn.Open sc
      End Function
      ' ----- ----- ----- ----- -----
      Function ConnClose()
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
      End Function
      ' ----- ----- ----- ----- -----
      Function BackupOpen()
        sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
        sc = sc & Server.MapPath("/mdb-database/master.mdb")
        Set cn_bk = Server.CreateObject("ADODB.Connection")
        Set rs_bk = Server.CreateObject("ADODB.Recordset")
        cn_bk.Open sc
      End Function
      ' ----- ----- ----- ----- -----
      Function BackupClose()
        Set rs_bk = Nothing
        cn_bk.Close
        Set cn_bk = Nothing
      End Function
    %>
    
    
    file copiatabella.asp
    <%@LANGUAGE = VBScript%>
    <!--#include file="config.asp"-->
    <%
      If Session("ADMIN") <> "OK" Then
        Response.Redirect "default.asp"
      End If
      Dim backup
      backup = Request.QueryString("backup")
    %>
    <html>
    <head>
    <title>copia tabella da database ad un altro con ASP</title>
    </head>
    <body>
    
    
    
    <form method="post" action="dump.asp?backup=OK">
      <input type="submit" value="DUMP">
    </form>
    
    <a href="logout.asp">Logout</a><br><br>
    
    <%
      If backup = "OK" Then
      	
        Call ConnOpen()
          Call BackupOpen()
          
          
          qui vorrei copiare la tabella completa di struttura da un db all'altro senza aprire ogni record
          
          
          Call BackupClose()
        rs.Close
        Call ConnClose()
        Response.Write "<br>Copia eseguita"
        '------------------------------------------------------------------------------------------
    
      End If
    %>
    
    </body>
    </html>
    
    
    
    

     

     

    ho provato anche cosi senza risultato

    [code]

    <%@LANGUAGE = VBScript%>
    <!--#include file="config.asp"-->
    <%
      If Session("ADMIN") <> "OK" Then
        Response.Redirect "default.asp"
      End If
      Dim backup
      backup = Request.QueryString("backup")
    %>
    <html>
    <head>
    <title>Dump e backup di un database con ASP</title>
    </head>
    <body>
    
    <h1>Effettua il dump del database</h1>
    
    <form method="post" action="dump.asp?backup=OK">
      <input type="submit" value="DUMP">
    </form>
    
    <a href="logout.asp">Logout</a><br><br>
    
    <%
      If backup = "OK" Then
      	
    
     Dim SQL
       Call ConnOpen()
       'xxx Call BackupOpen()
          		SQL= " INSERT INTO prodotti (Codice, SCategoria, Categoria, Prodotto, 	PDescrizione) SELECT FROM "& Server.MapPath("/mdb-database/master.mdb").prodotti
          		Set RS = cn.Execute(SQL)
          		RS.Close
          		
      ' xxx Call BackupClose()      
       Call ConnClose()
    
      End If
    %>
    
    </body>
    </html>
    



    [/code]

    domenica 10 aprile 2011 13:55

Tutte le risposte

  • In SQL Server per copiare dati usando INSERT INTO ... SELECT FROM devi specificare tutti i dati quindi

    INSERT INTO TbProdotti ( Codice, SCategoria, Categoria, Prodotto, PDescrizione) SELECT Codice, SCategoria,Categoria,Prodotto,PDescrizione FROM TbNuoviProdotti

    Il nome dei campi della tabella su cui fai la select potrebbe anche essere diverso da quello dei campi della tabella in cui inserisci, il trasferimento è posizionale.

    HTH


    Sabrina
    martedì 12 aprile 2011 12:58