Pregunta

El título prácticamente lo dice todo. Quiero crear un SqlConnection y luego verificar esa conexión sin abrir una base de datos, ya que en ese momento aún no sé a dónde me conectaré. ¿Es posible hacer eso? La clase SqlConnection tiene un miembro 'Abierto' que intenta abrir la base de datos que establecería en la propiedad Base de datos, y si no configuró uno, SqlServer intenta con la db maestra. El problema es que el usuario con el que estoy tratando de conectarme (MACHINE \ ASPNET) tiene acceso a algunas bases de datos (que todavía no sé) y no a la base de datos principal.

Saludos, Seba

¿Fue útil?

Solución

Conectar a la temperatura db. Todos han accedido a tempdb para que pueda autenticarse para acceder. Más adelante, cuando conozca la base de datos real, puede cambiar esta propiedad para conectarse a la base de datos que desee.

Otros consejos

No estoy seguro de si esto es lo que necesitas.

Verificar si un usuario tiene acceso a una base de datos en Sql Server 2005

SELECT HAS_DBACCESS('Northwind');

HAS_DBACCESS devuelve información sobre si el usuario tiene acceso a la base de datos especificada (BOL).

Encuentre todas las bases de datos a las que el usuario actual tiene acceso

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

Si solo necesita saber si el servicio está activo, puede intentar conectarse mediante un socket al puerto, para ver si está abierto

Solo curiosidad ... ¿Qué información podrá verificar si no conoce la base de datos precisa a la que necesita conectarse? Muchas cosas que podrían ir mal con el " real " la base de datos no se podría probar con este tipo de conexión de prueba, como la conectividad o la seguridad.

No sé si obtuvo sus respuestas, pero como todos buscamos respuestas, espero que esto sea lo que estaban buscando

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top