Pergunta

O título praticamente diz tudo. Eu quero criar um SqlConnection e depois verificar essa conexão sem abrir um banco de dados, porque naquele momento eu ainda não sei onde vou ligar. É possível fazer isso? A classe SqlConnection tem um membro 'Open' que tenta abrir o banco de dados que você definir na propriedade de banco de dados, e se você não definir um, SqlServer tenta com a db mestre. A coisa é que o usuário Eu estou tentando se conectar com (MACHINE \ ASPNET) tem acesso a algumas bases de dados (que eu não sei ainda) e não a db mestre.

Saudações, Seba

Foi útil?

Solução

Conectar para db temporário. Todo mundo tem accecss para tempdb, assim você será capaz de autenticar-se para o acesso. Mais tarde, quando você sabe que o banco de dados real, você pode alterar esta propriedade para se conectar ao db quiser.

Outras dicas

Eu não tenho certeza se é isso que você precisa.

Verifique Se um usuário tem acesso a um banco de dados SQL Server 2005

SELECT HAS_DBACCESS('Northwind');

HAS_DBACCESS retorna informações sobre se o usuário tem acesso ao banco de dados especificado (BOL).

Encontre todos os bancos de dados que o usuário atual tem acesso a

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

Se você precisa saber apenas se o serviço estiver ativo, você poderia tentar connet através de um soquete para a porta, para ver se ele está aberto

Apenas curioso ... Que informações você será capaz de verificar se você não sabe o banco de dados precisa que você precisa para conectar-se? Muitas coisas que poderia dar errado com o banco de dados "real" seria testável desse tipo de conexão de teste, como conectividade e segurança.

Eu não sei se você tem suas respostas, mas como todos nós olhar aqui para respostas que eu espero que isso é o que você estava procurando

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top