Domanda

Il titolo dice praticamente tutto. Voglio creare un SqlConnection e quindi controllare quella connessione senza aprire un database, perché a quel punto non so ancora dove mi collegherò. è possibile farlo? La classe SqlConnection ha un membro 'Open' che tenta di aprire il database impostato nella proprietà Database e, se non lo hai impostato, SqlServer prova con il master db. Il fatto è che l'utente con cui sto tentando di connettermi (MACHINE \ ASPNET) ha accesso ad alcuni database (che non conosco ancora) e non al master db.

Saluti, Seba

È stato utile?

Soluzione

Connetti a temp db. Tutti hanno accesso a tempdb, così sarai in grado di autenticarti per l'accesso. Successivamente, quando si conosce il database effettivo, è possibile modificare questa proprietà per connettersi al database desiderato.

Altri suggerimenti

Non sono sicuro che questo sia ciò di cui hai bisogno.

Verifica se un utente ha accesso a un database in SQL Server 2005

SELECT HAS_DBACCESS('Northwind');

HAS_DBACCESS restituisce informazioni sul fatto che l'utente abbia accesso al database specificato (BOL).

Trova tutti i database a cui l'utente corrente ha accesso

SELECT [Name] as DatabaseName from master.dbo.sysdatabases
WHERE ISNULL(HAS_DBACCESS ([Name]),0)=1
ORDER BY [Name]

Se devi sapere solo se il servizio è attivo, puoi provare a connetterti tramite un socket alla porta, per vedere se è aperto

Solo curioso ... Quali informazioni sarai in grado di verificare se non conosci il database preciso a cui devi connetterti? Molte cose che potrebbero andare storte con il "reale" il database non sarebbe testabile da questo tipo di connessione di prova, come connettività o sicurezza.

Non so se hai ottenuto le tue risposte, ma dato che tutti cerchiamo risposte qui spero che questo sia quello che stavi cercando

dim con as new sqlconnection
con.connectionstring="<<put your conn string here>>"
'try...catch block fires exception if the con is not successfully opened
try
con.open()
catch ex as exception
msgbox ex.message
end try
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top