Question

Le titre dit à peu près tout. Je veux créer un SqlConnection et ensuite vérifier cette connexion sans ouvrir une base de données, car à ce moment-là, je ne sais pas encore où vais-je me connecter. Est-il possible de faire ça? La classe SqlConnection a un membre 'Open' qui essaie d'ouvrir la base de données que vous avez définie dans la propriété Database, et si vous n'en avez pas défini, SqlServer essaie avec la base de données master. Le problème, c’est que l’utilisateur auquel je tente de me connecter (MACHINE \ ASPNET) a accès à certaines bases de données (que je ne connais pas encore) et non à la base de données maître.

Cordialement, Seba

Était-ce utile?

La solution

Connectez-vous à la base de données temp. Tout le monde a accecss à tempdb afin que vous puissiez vous authentifier pour l'accès. Plus tard, lorsque vous connaîtrez la base de données réelle, vous pourrez modifier cette propriété pour vous connecter à la base de données souhaitée.

Autres conseils

Je ne sais pas si c'est ce dont vous avez besoin.

Vérifier si un utilisateur a accès à une base de données dans SQL Server 2005

SELECT HAS_DBACCESS('Northwind');

HAS_DBACCESS renvoie des informations indiquant si l'utilisateur a accès à la base de données spécifiée (BOL).

Rechercher toutes les bases de données auxquelles l'utilisateur actuel a accès

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

Si vous avez besoin de savoir uniquement si le service est actif, vous pouvez essayer de vous connecter via un socket au port pour voir s'il est ouvert

Juste curieux ... Quelles informations pourrez-vous vérifier si vous ne connaissez pas la base de données précise à laquelle vous devez vous connecter? Beaucoup de choses qui pourraient mal se passer avec le "réel" La base de données ne serait pas testable avec ce type de connexion de test, telle que la connectivité ou la sécurité.

Je ne sais pas si vous avez obtenu vos réponses, mais comme nous cherchons tous des réponses, j'espère que c'est ce que vous recherchiez

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top