簡體   English   中英

C#-“用戶'用戶名'登錄失敗(SQL Server 2014)

[英]C# - "Login failed for user 'Username'(SQL Server 2014)

我正在嘗試使用C#代碼連接到SQL Server 2014

<connectionStrings>
    <add name="ConnectionString" 
         connectionString="Data Source=IP\\SQLNameSERVER,1433;Network Library=DBMSSOCN; Initial Catalog=MyDB; User ID=Username; Password=password;"/>
</connectionStrings>

string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

using (SqlConnection cn = new SqlConnection(ConnectionString))
{
     query = "SELECT * FROM [MyTable]";

     using (SqlCommand commandUserPortal = new SqlCommand(query, cn))
     {
         cn.Open();
     }
  }

但我收到一條錯誤消息:

用戶“用戶名”的登錄失敗。

當我使用相同的憑據通過SQL Server Management Studio連接到DB時,它工作正常,沒有任何問題。

用戶具有db_datareader權限。

我也試過

<connectionStrings>
    <add name="ConnectionString" 
         connectionString="Data Source=IP\\SQLNameSERVER,1433;Network Library=DBMSSOCN; Initial Catalog=MyDB; User ID=Username; Password=password;
         providerName="System.Data.SqlClient"/>
</connectionStrings>

通過使用Visual Studio中的“ Add connection來使用准確的連接字符串。

怎么樣:-

跟隨下一個屏幕截圖:

1)查看>>服務器資源管理器

在此處輸入圖片說明

2)添加連接

在此處輸入圖片說明

3)選擇數據源>> SQL Server

在此處輸入圖片說明

4)鍵入Server NameSQL Server authentication ,鍵入usernamepassword ,然后選擇database

在此處輸入圖片說明

5)單擊Test Connection按鈕。

在此處輸入圖片說明

6)您創建的連接將添加到此處

在此處輸入圖片說明

7)右鍵單擊並選擇properties

在此處輸入圖片說明

8) 最后復制並粘貼連接字符串並使用它, 然后用密碼替換星號(********)

嘗試為您的數據庫更改sql server中的設置。 允許sql和Windows身份驗證。 有關圖像的步驟,請在此處檢查。 我希望您不使用Windows身份驗證,並且您的網絡也可以訪問數據庫服務器。 其他一切對我來說都很好。

嘗試更改您的連接字符串:

<add name="ConnectionString" connectionString="Data source=IP\SQLNameSERVER;Initial Catalog=DBname;User=Username;Password=Password; connection timeout=6000;" />

同時嘗試更改您的代碼:

從:

using (SqlConnection cn = new SqlConnection(ConnectionString))
{
     query = "SELECT * FROM [MyTable]";

     using (SqlCommand commandUserPortal = new SqlCommand(query, cn))
     {
         cn.Open();
     }
  }

至:

using (SqlConnection cn = new SqlConnection(ConnectionString))
{
     query = "SELECT * FROM [MyTable]";
     cn.Open();
     using (SqlCommand commandUserPortal = new SqlCommand(query, cn))
     {

     }
  }

使用以下內容作為連接字符串

<add name="DefaultConnection" connectionString="data source=192.168.0.1; initial catalog=DBNAME;persist security info=True;user id=UserId;password=Password;MultipleActiveResultSets=True ; Connect Timeout=10000" providerName="System.Data.SqlClient" />

在目錄中替換您的數據庫名稱,在用戶ID中替換用戶ID,並在密碼中替換passeord

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM