Discussione:
Server inesistente accesso negato...ancora lui
(troppo vecchio per rispondere)
motogpdesmo16
2006-12-08 21:50:58 UTC
Permalink
Buonasera. E' il mio primo messaggio nel newsgroup....non torturatemi
se è un argomento trito e ritrito ma, nonostante le numerose ricerche,
non sono riuscito a tirare fuori nulla.
Allora...sul mio notebook ho sviluppato una applicazione web asp.net
1.1 con sql server 2000 (che ho usato tramite Enterprise Manager).
La stringa di connessione al database che usavo sul mio pc è la
seguente (linguaggio vb.net):

cnstring = "Provider=SQLOLEDB.1;Persist Security Info=False;" & _
"User ID=sa;password=sasa;Initial Catalog=Gestione;" & _
"Data Source=MaurizioNB;Use Procedure for Prepare=1;" &
_
"Auto Translate=True;Packet Size=4096;Workstation
ID=MaurizioNB;" & _
"Use Encryption for Data=False;Tag with column collation
when possible=False"

Questa applicazione devo ora installarla sul pc che ospiterà il sito.
Su tale pc ho provveduto ad installare msde.

Modificando opportunamente la stringa di connessione con il nome del
server sql del pc destinatario non mi funziona più il sito. Ottengo il
solito errore
"[DBNETLIB][ConnectionOpen (Connect()).]Server SQL inesistente o
accesso negato."

Tramite tool simile a query analyzer (qtodbc) riesco correttamente a
connettermi e ad effettuare query sul database; tramite tool per la
gestione del database (dbamgr2k) idem; ho provato ad effettuare la
connessione tramite windows xp e la connessione funziona correttamente.

Sapreste mica come riuscire a risolvere questo problema??Grazie sin da
ora per la disponibilità.
Lorenzo Benaglia
2006-12-08 23:20:31 UTC
Permalink
Post by motogpdesmo16
Questa applicazione devo ora installarla sul pc che ospiterà il sito.
Su tale pc ho provveduto ad installare msde.
Modificando opportunamente la stringa di connessione con il nome del
server sql del pc destinatario non mi funziona più il sito. Ottengo il
solito errore
"[DBNETLIB][ConnectionOpen (Connect()).]Server SQL inesistente o
accesso negato."
Ciao,

In genere questo errore viene generato quando non si riesce a contattare
l'istanza SQL Server (per problemi di networking, oppure semplicemente
perché si è commesso un errore specificando il nome dell'istanza).
Dato che MSDE è installato sul medesimo server che ospita la Web Application
escludo a priori un problema di networking (dato che in locale SQL Server
utilizza il protocollo Shared Memory) quindi ti invito verificare il nome
della istanza nella stringa di connessione (hai installato una istanza di
default oppure una named instance?).

Inoltre la stringa di connessione che hai postato utilizza la SQL Server
Authentication, mentre di default MSDE viene installato abilitando solo la
Windows Authentication.
C'è un motivo particolare per il quale utilizzi quel modello di
autenticazione? Definendo una login mappata all'utente utilizzato dalla tua
Web Application in IIS puoi risolvere il problema.
Ti segnalo questo articolo di Luca che ti spiega dettagliatamente i concetti
di Autenticazione ed Autorizzazione:

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

Se invece vuoi utilizzare espressamente la SQL Server Authentication, puoi
abilitarla intervenendo sul registry:

"HOW TO: Connect to Microsoft Desktop Engine"
http://support.microsoft.com/default.aspx?scid=319930
Post by motogpdesmo16
Tramite tool simile a query analyzer (qtodbc) riesco correttamente a
connettermi e ad effettuare query sul database; tramite tool per la
gestione del database (dbamgr2k) idem; ho provato ad effettuare la
connessione tramite windows xp e la connessione funziona
correttamente.
Come ti colleghi con questi tools? Utilizzi la SQL Server Authentication
(quindi spechifichi User e Password) oppure ricorri alla Windows
Authentication?
Sul seguente sito trovi diversi esempi di stringhe di connessione:
http://www.connectionstrings.com/?carrier=sqlserver
Post by motogpdesmo16
Grazie sin da ora per la disponibilità.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
motogpdesmo16
2006-12-09 22:51:18 UTC
Permalink
Post by Lorenzo Benaglia
Post by motogpdesmo16
Questa applicazione devo ora installarla sul pc che ospiterà il sito.
Su tale pc ho provveduto ad installare msde.
Modificando opportunamente la stringa di connessione con il nome del
server sql del pc destinatario non mi funziona più il sito. Ottengo il
solito errore
"[DBNETLIB][ConnectionOpen (Connect()).]Server SQL inesistente o
accesso negato."
Ciao,
In genere questo errore viene generato quando non si riesce a contattare
l'istanza SQL Server (per problemi di networking, oppure semplicemente
perché si è commesso un errore specificando il nome dell'istanza).
Dato che MSDE è installato sul medesimo server che ospita la Web Application
escludo a priori un problema di networking (dato che in locale SQL Server
utilizza il protocollo Shared Memory) quindi ti invito verificare il nome
della istanza nella stringa di connessione (hai installato una istanza di
default oppure una named instance?).
Inoltre la stringa di connessione che hai postato utilizza la SQL Server
Authentication, mentre di default MSDE viene installato abilitando solo la
Windows Authentication.
C'è un motivo particolare per il quale utilizzi quel modello di
autenticazione? Definendo una login mappata all'utente utilizzato dalla tua
Web Application in IIS puoi risolvere il problema.
Ti segnalo questo articolo di Luca che ti spiega dettagliatamente i concetti
"Assegnare i permessi in SQL Server"
http://www.microsoft.com/italy/technet/community/mvp/editoriali/permessi.mspx
Se invece vuoi utilizzare espressamente la SQL Server Authentication, puoi
"HOW TO: Connect to Microsoft Desktop Engine"
http://support.microsoft.com/default.aspx?scid=319930
Post by motogpdesmo16
Tramite tool simile a query analyzer (qtodbc) riesco correttamente a
connettermi e ad effettuare query sul database; tramite tool per la
gestione del database (dbamgr2k) idem; ho provato ad effettuare la
connessione tramite windows xp e la connessione funziona
correttamente.
Come ti colleghi con questi tools? Utilizzi la SQL Server Authentication
(quindi spechifichi User e Password) oppure ricorri alla Windows
Authentication?
http://www.connectionstrings.com/?carrier=sqlserver
Post by motogpdesmo16
Grazie sin da ora per la disponibilità.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
ciao Lorenzo, grazie per l'interessamento innanzitutto.
Allora dopo aver installato MSDE sul pc destinato ad ospitare il sito
ho in c:\programmi\microsoft sql server queste 3 cartelle: 80, MSSQL,
MSSQL$MSSQL
Se non ricordo male all'atto dell'installazione di MSDE avevo
specificato username e password di connessione al database (per
l'utente 'sa').

Per quanto riguarda infine la connessione a quei tools che ho
menzionato, la connessione avviene sempre tramite username e password.
Username e password che sono poi sempre quelle che ho specificato in
fase di installazione MSDE e che poi riciclo nella connection string.
Il sito che mi hai consigliato (www.connectionstrings.com) lo conoscevo
già e ho provato ad utilizzare anche le stringhe ridotte "all'osso"
che propongono, ma il risultato è stato sempre lo stesso.
Tuttavia proverò a dare un'occhiata ai siti che mi hai consigliato.

grazie
Maurizio
Lorenzo Benaglia
2006-12-09 23:24:25 UTC
Permalink
Post by motogpdesmo16
Allora dopo aver installato MSDE sul pc destinato ad ospitare il sito
ho in c:\programmi\microsoft sql server queste 3 cartelle: 80, MSSQL,
MSSQL$MSSQL
Ciao Maurizio,

Questo significa che hai 2 istanze:

- Una istanza di default (MSSQL)
- Una named instance chiamata MSSQL (MSSQL$MSSQL)

Perché hai due istanze? C'è un motivo particolare oppure hai commesso un
errore eseguendo due volte il setup?
A quale istanza intendi connetterti?
Post by motogpdesmo16
Se non ricordo male all'atto dell'installazione di MSDE avevo
specificato username e password di connessione al database (per
l'utente 'sa').
Mmmm... verifica di aver abilitato la SQL Server Authentication spulciando
il Registry come suggerito nell'articolo della KB che ti ho segnalato.
LoginMode quanto vale?
Post by motogpdesmo16
grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
motogpdesmo16
2006-12-09 23:45:11 UTC
Permalink
Post by Lorenzo Benaglia
Post by motogpdesmo16
Allora dopo aver installato MSDE sul pc destinato ad ospitare il sito
ho in c:\programmi\microsoft sql server queste 3 cartelle: 80, MSSQL,
MSSQL$MSSQL
Ciao Maurizio,
- Una istanza di default (MSSQL)
- Una named instance chiamata MSSQL (MSSQL$MSSQL)
Perché hai due istanze? C'è un motivo particolare oppure hai commesso un
errore eseguendo due volte il setup?
A quale istanza intendi connetterti?
Post by motogpdesmo16
Se non ricordo male all'atto dell'installazione di MSDE avevo
specificato username e password di connessione al database (per
l'utente 'sa').
Mmmm... verifica di aver abilitato la SQL Server Authentication spulciando
il Registry come suggerito nell'articolo della KB che ti ho segnalato.
LoginMode quanto vale?
Post by motogpdesmo16
grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Può essere che erroneamente abbia installato due volte MSDE e quindi
mi abbia creato due istanze. Proverò a disinstallarlo, reinstallarlo e
ricominciare tutto da una situazione (si spera) quanto più pulita
possibile.
ciao
Gianni Sassanelli
2006-12-10 08:03:28 UTC
Permalink
Scusa ma se riesci ad accedere con i tool QTODBC o DBAMGR probabilmente lo
fai dalla stessa macchina su cui risiede il server.
Se non riesci ad accedere da altre macchine i problemi possono essere
molteplici
te ne suggerisco 3
1) Firewall -------- in tal caso puoi anzitutto vedere su quale porta
è in ascolto SQL SERVER e quindi aprire tale porta sul FIREWALL
2) Protocollo TCP non abilitato in SQL-SERVER --------- abilitare il
protocollo
n.b. per testare entrambi i punti 1 e 2 usa l'utility
SRVNETCN.EXE che normalmente viene installata nella cartella
C:\Programmi\Microsoft SQL Server\80\Tools\Binn

3) problemi di risoluzione dei nomi ------- dalla macchina client prova a
connetterti direttamente all'indirizzo ip xxx.yyy.zzz.www del server di
database.

Ovviamente in tutti questi casi utilizza le stesse credenziali che hai
utilizzato per i tool QTOODBC o DBAMGR.

Saluti

Gianni Sassanelli
motogpdesmo16
2006-12-10 09:47:07 UTC
Permalink
Post by Gianni Sassanelli
Scusa ma se riesci ad accedere con i tool QTODBC o DBAMGR probabilmente lo
fai dalla stessa macchina su cui risiede il server.
Se non riesci ad accedere da altre macchine i problemi possono essere
molteplici
te ne suggerisco 3
1) Firewall -------- in tal caso puoi anzitutto vedere su quale porta
è in ascolto SQL SERVER e quindi aprire tale porta sul FIREWALL
2) Protocollo TCP non abilitato in SQL-SERVER --------- abilitare il
protocollo
n.b. per testare entrambi i punti 1 e 2 usa l'utility
SRVNETCN.EXE che normalmente viene installata nella cartella
C:\Programmi\Microsoft SQL Server\80\Tools\Binn
3) problemi di risoluzione dei nomi ------- dalla macchina client prova a
connetterti direttamente all'indirizzo ip xxx.yyy.zzz.www del server di
database.
Ovviamente in tutti questi casi utilizza le stesse credenziali che hai
utilizzato per i tool QTOODBC o DBAMGR.
Saluti
Gianni Sassanelli
Ciao Gianni, il problema è che al momento non riesco a far funzionare
il sito che è posizionato sulla stessa macchina su cui è installato
sql server fermo restando che l'accesso ai tools avviene correttamente
e, se leggi la connection string che ho postato nel primo messaggio,
puoi notare come le credenziali di accesso siano contenute anche nella
stessa connection string.
Ti chiedo, infine, se le problematiche da te esposte (punti 1, 2, 3)
possono avere rilevanza anche in una situazione come quella che ti ho
appena descritto (cioè server+sito sulla stessa macchina) oppure solo
se tento di accedere da altre macchine al server su cui è tutto
installato.
Lorenzo Benaglia
2006-12-10 09:53:47 UTC
Permalink
Post by motogpdesmo16
Ti chiedo, infine, se le problematiche da te esposte (punti 1, 2, 3)
possono avere rilevanza anche in una situazione come quella che ti ho
appena descritto (cioè server+sito sulla stessa macchina) oppure solo
se tento di accedere da altre macchine al server su cui è tutto
installato.
Dato che il sito risiede sul medesimo server che ospita l'istanza i 3 punti
citati da Giovanni non entrano in gioco.
Come Data Source puoi specificare il punto "." per identificare l'istanza di
default locale oppure ".\NomeIstanza" se utilizzi una named instance.
In entrambi i casi verrà utilizzato il protocollo Shared Memory abilitato di
default.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Lorenzo Benaglia
2006-12-10 09:55:13 UTC
Permalink
punti citati da Giovanni
^^^^^^^^

Da Gianni, chiedo scusa :-)
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
motogpdesmo16
2006-12-10 10:02:13 UTC
Permalink
Post by Lorenzo Benaglia
Post by motogpdesmo16
Ti chiedo, infine, se le problematiche da te esposte (punti 1, 2, 3)
possono avere rilevanza anche in una situazione come quella che ti ho
appena descritto (cioè server+sito sulla stessa macchina) oppure solo
se tento di accedere da altre macchine al server su cui è tutto
installato.
Dato che il sito risiede sul medesimo server che ospita l'istanza i 3 punti
citati da Giovanni non entrano in gioco.
Come Data Source puoi specificare il punto "." per identificare l'istanza di
default locale oppure ".\NomeIstanza" se utilizzi una named instance.
In entrambi i casi verrà utilizzato il protocollo Shared Memory abilitato di
default.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Io nella cartella sqlserver mi ritrovo 3 cartelle: 80, MSSQL,
MSSQL$MSSQL. Poichè si trattava della mia prima installazione MSDE è
possibilissimo che abbia fatto casino e quindi anche i nomi delle
istanze siano stati "rovinati".
Volendo potrei provare a ricominciare l'installazione di MSDE da zero
con l'istanza predefinita e le credenziali di accesso username=sa e
password=sasa che ho scritto nella connection string del mio primo
messaggio.
motogpdesmo16
2006-12-10 10:10:48 UTC
Permalink
Post by Lorenzo Benaglia
Dato che il sito risiede sul medesimo server che ospita l'istanza i 3 punti
citati da Giovanni non entrano in gioco.
Come Data Source puoi specificare il punto "." per identificare l'istanza di
default locale oppure ".\NomeIstanza" se utilizzi una named instance.
In entrambi i casi verrà utilizzato il protocollo Shared Memory abilitato di
default.
Ciao!
Ho provato a mettere questa connection string:
cnString = "Data Source=.; Initial Catalog=Gestione; User Id=sa;
Password=sasa;"

ma continua a darmi l'errore. Mi sa che è proprio meglio disinstallare
e ricominciare da zero.

Loading...