Connessione remota a Sql Server da sito asp.net (sito e db engine fisi...

domenica 16 gennaio 2011 - 16.35

fuviz Profilo | Newbie

Salve a tutti,

avrei il seguente problema da sottoporre.

Sto facendo alcuni test di connessione all'interno di una rete LAN con 4 pc (quindi un ambinete di tipo Workgroup).
In uno di essi (dove è istallato win xp professional) - che d'ora in poi chiamerò SERVER - gira IIS 5.1.
Mentre in uno dei client (su cui è istallato win 7 ultimate) - che d'ora in poi chiamerò CLIENT - che peraltro ora uso per sviluppare le mie applicazioni web e desktop, vi è istallato VS 2008 insieme ad SQL Express.

Pochi giorni fa ho voluto traferire un mio sito in asp.net sul web server del SERVER.

Il sito, che nella fattispecie interroga un database Sql Server 2005, fintanto che gira sul server web di produzione di VS 2008 del CLIENT (così come su IIS 7 installato sempre nello stesso CLIENT), si interfaccia senza problemi con il database usando la windows authentication di Sql Server con una striga di connessione opportunamente settata col parametro Integrated Security = True.

Una volta fatto il deployment su IIS del SERVER, ho voluto provare a connetterlo ad un'isntaza del database di Sql server Express sul CLIENT, dunque a fargli interrogare da remoto lo stesso database che prima veniva interrogato da locale.


Per far questo, ho abilitato il mixed mode authentication di Sql Server, abilitato l'account 'sa', creato un account di accesso con user e password, creato un utente test per detto account ed effettuato il mapping. Ho concesso le dovute autorizzazioni settando i ruoli del server per la concessione dei privilegi etc etc...

Premesso che ho configurato il motore di database per le connesioni remote, abilitato il protocollo TCP/IP e stabilito una porta per la connessione remota, ho inoltre cambiato la stringa di connessione del web.config impostando Integrated Security = False come d'appresso riportato:

<add name="MPN_DbConnectionString" connectionString="Server=Fulvio-Pc\Sqlexpress, 1433;Database=MPN_Db;User Id=MPN_DbLogin;Password=password;Trusted_Connection =False;" providerName="System.Data.SqlClient"/>

Fatto tutto questo, tuttavia l'applicazione asp.net non riesce ancora ad effettuare l'accesso al database sul CLIENT.
Confermo invece che con Sql Server Management Studio Express istallato sul SERVER riesco ad effettuare tranquillamente la connessione all'istanza del database sul CLIENT con gli stessi parametri presenti nella stringa di connessione del web.config del sito asp.net.

L'errore restituito dalla pagina aspx risulta il seguente:

2011-01-16 16:26:51.80 Accesso Errore: 18456, gravità: 14, stato: 16.
2011-01-16 16:26:51.80 Accesso Login failed for user 'MPN_DbLogin'. [CLIENT: 192.168.1.2]

dove CLIENT nel file di Log è quello che io ho chiamato SERVER.

Dov'è l'inghippo?

Grazie a tutti coloro si dovessero interessare

Fulvio Cusimano

alx_81 Profilo | Guru

>Salve a tutti,
Ciao, e, anche se in ritardo, benvenuto su dotnethell.it!

>2011-01-16 16:26:51.80 Accesso Errore: 18456, gravità: 14, stato: 16.
>2011-01-16 16:26:51.80 Accesso Login failed for user 'MPN_DbLogin'.
>[CLIENT: 192.168.1.2]
>Dov'è l'inghippo?
sinceramente se hai questo messaggio altro non può essere che creazione errata della login, creazione errata del mapping della login verso il database, errore nella scrittura della password (occhio ai caratteri di escape xml, visto che potresti aver storato la password sul config), errore nella scrittura della login.. non mi viene altro.. L'utente è sql, quindi se ti connetti da SSMS devi connetterti anche in asp.net. Controlla i caratteri di escape (ad esempio se nella pwd hai un minore, dovrai sostituirlo con &lt;)

>Grazie a tutti coloro si dovessero interessare
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5