C#& SQL Server 2012:获取当前用户的用户名

时间:2017-10-12 14:12:42

标签: c# sql-server-2012

我在C#和SQL Server中构建了一个应用程序。是否可以从应用程序中获取SQL Server中存储过程中登录用户的用户名?不将它作为参数传递给存储过程?我希望应用程序用户的用户名不是SQL Server用户。

我尝试了suser_name()但它返回了SQL Server用户。

我想要表格中的用户名:dbo.aspnet_Users

1 个答案:

答案 0 :(得分:2)

  

我想要表格中的用户名:dbo.aspnet_Users

是的,有瑕疵。就SQL Server而言,该表与身份验证无关。这是应用程序数据,就像任何其他应用程序数据一样。 SQL Server的透视图中的“用户”是在应用程序正在使用的连接字符串中指定的任何身份验证。

由于这是应用程序数据,因此应用程序需要告诉SQL Server如何处理此数据。在这种情况下,这意味着为存储过程提供要使用的值。该值是否为用户名字符串,该表中用作外键的标识符等等......就SQL Server而言,它只是数据表中的值,与其他任何值一样。

简而言之,SQL Server无法推断您想要使用的值。你必须指定它。