PDA

View Full Version : Connessione a SQL server tramite asp


damar3
05-02-2002, 10:10
Qualcuno mi saprebbe dire come posso effettuare la connesione a SQL server tramite asp. Ne ho provate molte ma non vanno e non riesco proprio a capire dove sbaglio....


Questo è un qualcosa che ho trovao in rete, ho provato a modificarlo ma niente... Qualcuno potrebbe aiutarmi???






<%
' Definizione della variabile
dim strnome
strnome = "nome"

dim strcognome
strcognome = "cognome"

dim strCode
strCode="tirocinio"

' Mappaggio del database
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; " 'cosa ci metto?
strConn=strConn & " DBQ=" & Server.MapPath("cosa ci metto???")
strConn=strConn & ";pwd=" & strCode
Conn.Open strConn


sql = "SELECT * FROM tab"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3


rs.addnew
rs(1) = strnome
rs(2) = strcognome
rs.update

rs.Close
set rs = Nothing
conn.Close
set conn = Nothing
%>

damar3
05-02-2002, 16:22
Ho provato a modificare le stringhe di connessione in questo modo:

Set Conn=Server.CreateObject("ADODB.Connection")

'stringa di connessione ottenuta senza dns di sistema tramite 'visual basic
strcon="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Tirocinio;Data Source=DAMAR3-OXXX82BW"


'stringa di connessione con dns di sistema
strconn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=tirocinio"

Conn.Open strconn

sql = "SELECT * FROM userid"

' Chiusura del database
conn.Close
set conn = Nothing

Credo di esserci andato vicino. La risposta della pagina è che è impossibile eseguire l'accesso per l'utente 'DAMAR3-OXXX82BW\IUSR_DAMAR3-OXXX82BW'
Cosa posso fare? Qualcuno saprebbe come fare?

lufo
05-02-2002, 18:06
Questa è la verione standard

Conn.Open "Driver={SQL Server};Server=MyServerName;Database=myDatabaseName;Uid=myUsername;Pwd=myPassword;"


Con quest'altra, invece fai apparire il prompr per l'immissione di UserName e Password:

Conn.Properties("Prompt") = adPromptAlways
Conn.Open "Driver={SQL Server};Server=MyServerName;DataBase=myDatabaseName;"


Infine quest'ultima la puoi utilizzare per collegarti tramite IP:

Conn.Open "Driver={SQL Server};Server=xxx.xxx.xxx.xxx;Address=xxx.xxx.xxx.xxx,1433;Network=DBMSSOCN;Database=myDatabaseName;Uid=myUsername;Pwd=myPassword;"

Ovviamente al posto di "xxx.xxx.xxx.xxx" devi mettere l'indirizzo IP, mentre 1433 è la porta standard per le connessioni IP a Sql server.

damar3
05-02-2002, 18:14
Ho fatto la standard come dici tu, naturalmente sostituendo i valori opportuni e mi da questo errore:

Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
[Microsoft][ODBC SQL Server Driver][SQL Server]Impossibile eseguire l'accesso per l'utente 'DAMAR3-OXXX82BW\IUSR_DAMAR3-OXXX82BW'.
/testasp/data.asp, line 16

lufo
05-02-2002, 19:01
Originariamente inviato da damar3
[B]Ho fatto la standard come dici tu, naturalmente sostituendo i valori opportuni e mi da questo errore:

Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
[Microsoft][ODBC SQL Server Driver][SQL Server]Impossibile eseguire l'accesso per l'utente 'DAMAR3-OXXX82BW\IUSR_DAMAR3-OXXX82BW'.
/testasp/data.asp, line 16
Prova a sostituire "DAMAR3-OXXX82BW" con "Admin"

damar3
05-02-2002, 19:41
Ma 'DAMAR3-OXXX82BW è il nome del server. Io non ho impostato nessuna login o password per l'accesso al DB.

lufo
05-02-2002, 19:45
appunto.. come Usr, devi mettere Admin. ;)

damar3
05-02-2002, 19:46
Ho provato e mi da questo errore:

Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
[Microsoft][ODBC SQL Server Driver][SQL Server]Impossibile eseguire l'accesso per l'utente 'admin'. Motivo: l'utente non è associato a una connessione SQL Server trusted.
/testasp/data.asp, line 16

lufo
05-02-2002, 19:48
allora... aspetta che ci penso un pò...
mi mandi la stringa esatta di connessione??

damar3
05-02-2002, 20:03
Eccola (è la prima) ma ne ho provate anche altre (te le metto commentate). Sto impazzendo...



Set conn=Server.CreateObject("ADODB.Connection")

conn.Open "Driver={SQL Server};Server=DAMAR3-OXXX82BW;Database=tirocinio;Uid=admin;Pwd=;"


'str1="Provider = SQLOLEDB; Data Source = DAMAR3-OXXX82BW; Initial Catalog= tirocinio; User Id=; Password=;"




'strcon="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Tirocinio;uid=io;pwd=io;Data Source=DAMAR3-OXXX82BW"
'strcoj="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Tirocinio;Data Source=DAMAR3-OXXX82BW;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=DAMAR3-OXXX82BW;Use Encryption for Data=False;Tag with column collation when possible=False"

'strC = "driver={SQL Server};server=DAMAR3-OXXX82BW; database=tirocinio"


'strconn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=tirocinio"

'Conn.Open(str1)

'sql = "SELECT * FROM userid"



' Chiusura del database

conn.Close
set conn = Nothing

lufo
05-02-2002, 20:10
prova così:

conn.Open "Driver={SQL Server};Server=DAMAR3- OXXX82BW;Database=tirocinio;Trusted_Connection=yes"

però sinceramente non so dirti perhè non funge...:confused:

damar3
05-02-2002, 22:36
Sempre lo stesso errore! Mannaggia le miseria...:(

lufo
06-02-2002, 10:33
prova così:

StrConn = "Provider=sqloledb;Data Source=DAMAR3-OXXX82BW; Initial Catalog=tirocinio; User ID=admin; Password=;"

Questa è la stringa di connessione che sto utilizzando attualmente io, con dei programmi.

damar3
06-02-2002, 22:46
Ho risolta ma il problema non era la stringa di connessione che era giusta. Il fatto è che per l'utente non era possibile collegarsi al database dato che non aveva gli accessi. Sono dovuto andare sotto l'enterprise manager di sql server e aggiungere quell'utente come uente di windows. Ora funziona tutto!

lufo
07-02-2002, 20:34
Originariamente inviato da damar3
[B]Ho risolta ma il problema non era la stringa di connessione che era giusta. Il fatto è che per l'utente non era possibile collegarsi al database dato che non aveva gli accessi. Sono dovuto andare sotto l'enterprise manager di sql server e aggiungere quell'utente come uente di windows. Ora funziona tutto!
io pensavo fosse sottointeso che l'avessi aggiunto! :D

damar3
07-02-2002, 20:55
Non immaginavo che windows per internet generasse questo utente:

'DAMAR3-OXXX82BW\IUSR_DAMAR3-OXXX82BW'

IUSR_NOMEMACCHINA

lufo
07-02-2002, 21:15
Originariamente inviato da damar3
[B]Non immaginavo che windows per internet generasse questo utente:

'DAMAR3-OXXX82BW\IUSR_DAMAR3-OXXX82BW'

IUSR_NOMEMACCHINA

da windows ti puoi aspettare di tutto! Da SQL-Server, anche di più! :D

damar3
07-02-2002, 21:41
Grazie dell'invito alla prudenza...