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

如何查询ADO.Net C#连接属性,c#,ado.net,C#,Ado.net,我需要以多种不同的方式测试与ADO.Net提供程序的连接,以确保设置了正确的连接设置。是否仍要查询DBConnection对象以询问经过身份验证的用户的用户名是什么?以下示例返回当前用户的名称 SELECT CURRENT_USER; GO 恐怕DbConnection或IDbConnection中的通用方法都不足以实现这一点。我能想到的最接近的事情是读取属性并解析它以获得用户名。对于解析,您可以使用类似于字典的,然后您可以获得spesific键的值(例如“用户ID”、“用户”、“uid”)。

我需要以多种不同的方式测试与ADO.Net提供程序的连接,以确保设置了正确的连接设置。是否仍要查询DBConnection对象以询问经过身份验证的用户的用户名是什么?

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

SELECT CURRENT_USER;
GO

恐怕
DbConnection
IDbConnection
中的通用方法都不足以实现这一点。我能想到的最接近的事情是读取属性并解析它以获得用户名。对于解析,您可以使用类似于字典的,然后您可以获得spesific键的值(例如“用户ID”、“用户”、“uid”)。请注意,有些dbms使用完全不同的键来定义连接字符串中的用户


如果允许直接使用dbms spesific类,对于MS-SQL,可以使用解析连接字符串。另一种具体的方法是使用that has属性。

谢谢,但我需要一种通过我的C#test应用程序查询这些信息的方法。也许更好的解决方案是创建一个DbCommand对象,然后将其设置为查询文本?这对于没有特殊表或逻辑来支持该功能的数据库也不起作用。我认为SqlConnection不起作用,因为我没有连接到MS-SQL。另外,我正在寻找的用户名不应该出现在连接字符串中,因为我正在使用集成安全性(或者至少正在尝试)。部分想法是,如果我同时传递用户名和密码,并将集成安全设置为true,则验证哪个用户登录。对于集成安全,我认为剩下的唯一选项是深入研究数据库使用的特定函数/API(例如,oracle的SYS_上下文)。