我需要以多种不同的方式测试连接到ADO.Net提供程序,以确保正在设置正确的连接设置。无论如何都要查询DBConnection对象以询问经过身份验证的用户的用户名是什么?
答案 0 :(得分:2)
我担心DbConnection
或IDbConnection
内的通用方法无法实现这一目标。我能想到的最接近的事情是阅读ConnectionString属性并解析它以获取用户名。对于解析,您可以使用类似于词典的DbConnectionStringBuilder,然后您可以获得特定键的值(例如"用户ID","用户" ," uid")。请注意,某些dbms使用完全不同的密钥来定义连接字符串中的用户。
如果允许直接使用dbms spesific类,对于MS-SQL,可以使用SqlConnectionStringBuilder解析连接字符串。另一种具体方法是使用SqlConnection.Credential属性UserId。
答案 1 :(得分:0)
以下示例返回当前用户的名称。
SELECT CURRENT_USER;
GO