![](/img/trans.png)
[英]C# Windows Service Sql Client unable to connect to database after SQL Server Restart
[英]VS C# Sql Client unable to connect to SQL Server, uses Windows auth instead of SQL Server auth
我有兩個使用 VS 2017 的桌面客戶端。我繼承了一個 C# .NET 應用程序,該應用程序連接到隔壁房間的 SQL 服務器。 當我們執行 SQL 查詢時,我們通常使用 SQL 服務器身份驗證(而不是 Windows 身份驗證)。
我使用一個看起來像這樣的連接字符串......
"Data Source=DR101; User Id = DR_DATA; Password = CD7504st; Integrated Security=SSPI; TransparentNetworkIPResolution=False"
...這就像第一個桌面的魅力一樣。 從第二個桌面它總是無法訪問數據庫,給出一個錯誤指示 Windows 登錄失敗...
...拋出異常。
System.Data.SqlClient.SqlException:用戶“SDAR\SdarAutoSvc”登錄失敗
我已經比較了這兩個系統之間我能想到的一切。 據我所知,它們在幾乎所有方面都是相同的......都使用相同的 Visual Studio(幫助 > 關於,並比較了模塊版本的長列表。在兩個系統上相同),相同的System.Data.dll
模塊,同樣的App.config
, C# 源碼,輸入數據等。
失敗的系統僅通過此 Visual Studio 應用程序失敗 - 即,我可以使用 SQL 服務器憑據(不是 Windows 身份驗證)通過 SMSS 從該桌面訪問數據庫服務器。
我不知道這第二台機器如何可能無法訪問數據庫,以及為什么它顯然使用 Windows 身份驗證而不是連接字符串中的 sql 用戶 ID/密碼。
如果您想要SQL 服務器身份驗證,則刪除Integrated Security=SSPI
; 從連接字符串。
試試這個連接字符串 -
"Data Source=DR101; User Id = DR_DATA; Password = CD7504st; TransparentNetworkIPResolution=False"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.