繁体   English   中英

如何查询ADO.Net C#连接属性

[英]How to query ADO.Net C# Connection Properties

我需要以多种不同的方式测试到ADO.Net提供程序的连接,以确保设置了正确的连接设置。 无论如何,有没有查询DBConnection对象以询问已认证用户的用户名是什么?

恐怕DbConnectionIDbConnection中没有通用的方法足以实现此目的。 我能想到的最接近的方法是读取ConnectionString属性并对其进行解析以获取用户名。 对于解析,您可以使用类似于Dictionary的DbConnectionStringBuilder ,然后可以获取特殊键的值(例如,“用户ID”,“用户”,“ uid”)。 注意某些dbms使用完全不同的键在连接字符串中定义用户。

如果允许直接使用dbms spesific类,则对于MS-SQL,可以使用SqlConnectionStringBuilder解析连接字符串。 另一种特定的方法是使用具有UserId属性的SqlConnection.Credential

以下示例返回当前用户的名称。

SELECT CURRENT_USER;
GO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM