Errore con SQL Server

mercoledì 15 novembre 2006 - 12.31

drigo83 Profilo | Senior Member

Ho configurato un'adapter creato il dataset, faccio il fill e il merge, ma quando eseguo mi da questo errore:

Impossibile eseguire l'accesso per l'utente '(null)'. Motivo: l'utente non è associato a una connessione SQL Server trusted.

Se provo a vedere l'anteprima dei dati dal form di progettazione funziona benissimo.

Ho provato anche a fare una prova con vb.net utilizzando gli stessi oggetti e lo stesso codice e li funzina perfettamente.

SQL server è impostato con autenticazione mista.

Cosa può essere ?

Grazie

drigo83 Profilo | Senior Member

Questa la connection string: workstation id="TEC008-AND02";packet size=4096;user id=AndreaLanfranchi;integrated security=SSPI;data source="SRV006-PR01";persist security info=False;initial catalog=LI_ENTERPRISEDB

Comunque penso sia giusta

lbenaglia Profilo | Guru

>Questa la connection string: workstation id="TEC008-AND02";packet
>size=4096;user id=AndreaLanfranchi;integrated security=SSPI;data
>source="SRV006-PR01";persist security info=False;initial catalog=LI_ENTERPRISEDB
>
>Comunque penso sia giusta

Questa stringa contiene di tutto e di più
Prima di tutto non ha senso specificare una user e una password insieme a integrated security=SSPI dato che la prima coppia è utilizzata per la SQL Server Authentication, mentre l'ultima opzione identifica la Windows Authentication.
Ora, quale modalità di autenticazione vuoi utilizzare?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

drigo83 Profilo | Senior Member

Autenticazione di windows

lbenaglia Profilo | Guru

>Autenticazione di windows

Allora prova a riscrivere la connection string in uno dei seguenti modi in base al provider che hai intenzione di utilizzare:

Provider OLEDB:
"Provider=sqloledb;Data Source=SRV006-PR01;Initial Catalog=LI_ENTERPRISEDB;Integrated Security=SSPI;"

SQL Native Client (con SQL Server 2005):
"Provider=SQLNCLI;Server=SRV006-PR01;Database=LI_ENTERPRISEDB;Trusted_Connection=yes;"

Inoltre verifica che esista una login in SQL Server mappata sull'utente impostato in IIS per la tua web application.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

drigo83 Profilo | Senior Member

Il problema non penso sia tanto della connection string ma dell'utente di iis che accede a sql.

Come faccio a verificare che tutto sia corretto?

lbenaglia Profilo | Guru

>Il problema non penso sia tanto della connection string ma dell'utente
>di iis che accede a sql.
Però, fai domande su un forum perché hai dei problemi, ti suggeriamo come procedere e poi "non pensi" che sia il caso di seguire le nostre istruzioni.
Io ti dico che quella connection string è sbagliata e ti ho spiegato pure i motivi, poi vedi tu...

>Come faccio a verificare che tutto sia corretto?
Se te lo spiego poi seguirai le istruzioni o "non pensi" che saranno utili?

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

drigo83 Profilo | Senior Member

La connection string l'ho provata e non va comunque, non dico cose così tanto per dire!

Penso che le istruzioni che mi darai saranno molto utili!

Grazie

lbenaglia Profilo | Guru

>La connection string l'ho provata e non va comunque, non dico
>cose così tanto per dire!
Se non hai definito una login in SQL Server associata all'utente utilizzato dalla tua web application, puoi mettere anche "pimpereppettenusa" come connection string, sarebbe la stessa cosa

>Penso che le istruzioni che mi darai saranno molto utili!
Ecco, allora lancia IIS, seleziona il tuo sito, tasto DX, Proprietà, seleziona il tab "Protezione directory", clicca il bottone "Modifica..." e specifica l'utente con il quale vorrai eseguire la web application. Di defult sarà IUSR_<nome server>.

Non ci hai detto se IIS e SQL Server girano sullo stesso server o meno e se sei in dominio o in workgroup.
Analizzerò il caso più semplice, tutto in locale.

Ipotizzando di voler utilizzare l'utente locale IUSR_<nome server>, dovrai definire in SQL Server una Login mappata su questo utente a livello di istanza; a livello di database dovrai definire uno user account mappato alla login sul quale andrai a definire le permission sugli oggetti del database.

Questi concetti sono spiegati molto bene sui Books Online ed in questo articolo di Luca:

"Assegnare i permessi in SQL Server"
http://www.microsoft.com/italy/technet/community/mvp/editoriali/permessi.mspx

Leggilo e segui i suoi consigli.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

drigo83 Profilo | Senior Member

IIS sta sul mio pc mentre sql sta su un server. I due pc sono in dominio

Comunque niente da fare, continua a darmi l'errore.

lbenaglia Profilo | Guru

>IIS sta sul mio pc mentre sql sta su un server. I due pc sono
>in dominio
>
>Comunque niente da fare, continua a darmi l'errore.
In 8 minuti hai letto l'articolo di Luca e metabolizzato le informazioni? Ma sei un fenomeno!!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

drigo83 Profilo | Senior Member

Sono cose che so già quelle scritte nell'articolo! Non riesco a capire perchè mi dice che l'utente con cui provo ad accedere è null

lbenaglia Profilo | Guru

>Sono cose che so già quelle scritte nell'articolo! Non riesco
>a capire perchè mi dice che l'utente con cui provo ad accedere
>è null
Perché stai utilizzando la SQL Server Authentication, ma tu queste cose "le sai già"....
http://groups.google.it/group/microsoft.public.it.sql/browse_frm/thread/aa71e6a4b82d75cf

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

drigo83 Profilo | Senior Member

Sei un po' molto polemico però grazie comunque per le dritte.

Alla prossima

Ciao ciao

lbenaglia Profilo | Guru

>Sei un po' molto polemico però grazie comunque per le dritte.
E tu sei "un po' molto" presuntuoso... un po' di umiltà e chiarezza espositiva non ti farebbe male.

Ciao,
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5