Access e sql sono la stessa cosa??

topozoppo

Utente Attivo
19 Gen 2006
80
0
0
Ciauuuuuu

Mi ritrovo con una 15 di tabelle in access e vorrei trasferire il tutto su sql server,ho gia scritto la stringe di connessione per sql,ma ora mi sorge un dubbio.

Le tabelle vanno modificate???
Gli script devono essere appositi per sql oppure una connessione del genere va bene??

Posto il tutto

Dim id
id = Request.QueryString("id")
id = CInt(id)
' Verifico che la querystring abbia un valore numerico positivo
If IsNumeric(id) = False Or id < 1 Then
Response.Write "<p>Nessuna discussione</p>"
Else
' Creo la stringa SQL per estrarre la domanda
Dim SQL
SQL = ""
SQL = SQL & "SELECT msg_titolo, msg_messaggio, ute_username "
SQL = SQL & "FROM messaggi, utenti WHERE "
SQL = SQL & "msg_autore = ute_id AND msg_id = " & id
' Eseguo la stringa SQL e verifico che esista una domanda per l'id specificato
rs.Open SQL, cn, 1
If rs.EOF Then
Response.Write "<p>Nessuna discussione</p>"
Else
' Stampo a video il risultato
%>
<h2><%=rs("msg_titolo")%></h2>
<div style="background-color: #EEEEEE;">
<b>Autore:</b> <%=rs("ute_username")%><br><br>
<%=rs("msg_messaggio")%><br><br>
</div>
<%
End If
rs.Close
' Creo la stringa SQL per estrarre le eventuali risposte
SQL = ""
SQL = SQL & "SELECT msg_titolo, msg_messaggio, msg_data, ute_username "
SQL = SQL & "FROM messaggi, utenti WHERE "
SQL = SQL & "msg_autore = ute_id AND msg_risposte = " & id
' Eseguo la stringa SQL e verifico che esistano delle risposte per l'id specificato
rs.Open SQL, cn, 1
If rs.EOF = False Then
' Imposto i colori alternati per le varie risposte
Dim c, colore
c = 0
While rs.EOF = False
colore = "#E0E0E0"
If c Mod 2 > 0 Then colore = "#EEEEEE"
%>
<div style="background-color: <%=colore%>;">
<b>Autore:</b> <%=rs("ute_username")%><br><br>
<%=rs("msg_messaggio")%><br><br>
</div>
<%
rs.MoveNext
c = c + 1
Wend
End If
rs.Close
End If
%>
<br>
<%If Session("username") <> "" Then%>
<p align="center">
<form method="post" action="messaggio.asp?id=<%=id%>&rispondi=OK">
<textarea name="messaggio" style="width: 250px; height: 100px;"></textarea><br><br>
<input type="submit" value="Rispondi">
</form>
<br>
<%
' Verifico che il modulo sia stato inviato
If Request.QueryString("rispondi") = "OK" Then
Dim messaggio
messaggio = Replace(Replace(Request.Form("messaggio"), "<", "<"), vbCrLf, "<br>")
' Verifico che sia stato specificato un messaggio
If Len(Trim(messaggio)) > 1 Then
' Recupero l'id dell'autore in funzione della sua username, memorizzata nella sessione
Dim autore
Set autore = cn.Execute("SELECT ute_id FROM utenti WHERE ute_username = '" & Session("username") & "'")
' Effettuo l'inserimento
rs.Open "messaggi", cn, 3, 3
rs.AddNew
rs("msg_autore") = autore("ute_id")
rs("msg_messaggio") = messaggio
rs("msg_risposte") = id
rs.Update
rs.Close
Set autore = Nothing
' Aggiorno la data della discussione a cui si è risposto
Dim data
Set data = cn.Execute("UPDATE messaggi SET msg_data = '" & Now() & "' WHERE msg_id = " & id)
Set data = Nothing
End If
' In qualsiasi caso rimando l'utente alla discussione in corso
Response.Redirect "messaggio.asp?id=" & id
End If
%>
</p>
<br>
<%End If%>

Grazie


Ciauuuuuu
 
non ho sql server avanti in questo momento, ma se sfogli il menu, vedrai che c'è un'opzione per importare i dati da access o da altri dbms

appena trovo una copia di sql server su cui fare un test ci scrivo un articolo ;)
 
Ciaooo...

luca forse io mi sono spiegato male,ammettiamo che il mio hosting abbia sql server con 50 mb di spazio a disposizione del mio sito, una cosa del genere da lo stesso risultato anche con sql server oppure devo cambiare qualche parametro o variabile???

<%@LANGUAGE = VBScript%>
<!--#include file="adovbs.inc"-->
<html>
<head>
<title>ASP & database</title>
</head>
<body>

<%
Dim Cn, Mostra

' Apro la connessione
Set Cn = Server.CreateObject("ADODB.Connection")
<< (QUI LA STRINGA DI CONNESSIONE SQL)>>
' Eseguo la Query
Set Mostra = Cn.Execute("SELECT * FROM utenti")

' Estraggo tutti i record dal database
While Not Mostra.EOF
With Response
.Write "<p>"
.Write "Utente: " & Mostra("nome") & " " & Mostra("cognome")
.Write "</p>"
End With
Mostra.MoveNext
Wend

' Chiudo la connessine
Cn.Close
Set Cn = Nothing
%>

</body>
</html>

In parole povere anche se uso sql server ottengo sempre lo stesso risultato,cioè il nome e cognome della mia tabella?

Grazie

ciao
 
Pardon Francesco, non avevo capito :)

Su una query semplice come

SELECT * FROM utenti

non ci sono problemi, i quali nascono con query un po più complesse, anche se non troppo

è un po che non lo uso sql server quindi non ricordo bene le differenze sintattiche, ma a d esempio, quando usi il LIKE devi usare * invece che % o viceversa... o qualcosa del genere... non ricordo a memoria :p

In ogni caso il consiglio che do sempre è... prova! se non funziona vuol dire che c'è qualche problema ;)
 

Discussioni simili