![](/img/trans.png)
[英]creating multiple users for a c#.net winform application using sql server express
[英]Creating user for SQL Server database and accessing through C#.net application
我已經為SQL Server數據庫創建了用戶。 它創建得很好。
我的問題是,當我通過執行以下代碼訪問應用程序時,它不會切換到我指定為的用戶
exec as user='myuser'
ALTER USER myuser WITH DEFAULT_SCHEMA=maindb
EXEC sp_addrolemember N'db_owner', N'myuser'
我已經運行查詢為
DbCommand command = ds.CreateCommand();
command.CommandText = "exec as user='myuser'";
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();
從C#代碼
等待您的寶貴回應和評論
是的,這是預期的。 連接字符串包含連接到服務器所需的憑據。 通常在應用程序和數據庫之間只有一個連接字符串,以優化資源並利用連接池等。
不同的用戶在系統中可能具有不同的權限,但是可以通過授權而不是連接字符串來處理。
EXECUTE AS子句中指定的用戶名或登錄名必須分別作為主體存在於sys.database_principals或sys.server_principals中,否則創建或更改模塊操作將失敗。 此外,創建或更改模塊的用戶必須對主體具有IMPERSONATE權限。
您滿足這些條件嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.