2014-02-17 23 views
-1

我reinstaled我的電腦,現在我有問題,我的SQL連接字符串或使用SQL Server 2012企業
錯誤,我得到:連接字符串無效或者錯誤定位服務器/實例

"... (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)" or 

"... (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)" 

在SQL Server Management Studio服務器實例如下所示:

TOM-PC (SQL Server 11.0.3128 - Tom-PC\Tom) 

而我在ASP.NET XML配置中的SQL連接字符串。文件:

<add name="ApplicationServices" connectionString="Data Source=.\TOM-PC;Database=D:\Programming\InvoiceManager\invocemanagerSQL.mdf;" providerName="System.Data.SqlClient" /> 

嘗試一切,在防火牆中添加端口1434或1433測試了,沒有工作,"SQL Server Browser"服務正在運行,TCP/IP啓用,允許遠程連接到此服務器,甚至嘗試4個不同的連接字符串,沒有什麼工作。 之前它像一個魅力工作,不完全,但工作。爲什麼不完全?由於我無法同時在工作站"VS2010""SQL Management studio"的本地計算機上工作,如果我需要手動更改數據庫中的某些內容,我需要停止或重新啓動SQL Server進程和服務,然後進入數據庫並讀取表。現在,沒有任何工作! 我做了什麼或做錯了什麼?哪裏似乎是問題?爲什麼總是有問題與SQL服務器和它的連接字符串?

回答

2

你們看到Management Studio中如下:

Instance Name (SQL Server version - Domain\LoggedInUser) 

您登錄使用集成身份驗證(即您的Windows登錄帳戶),而不是在連接字符串中指定它。這將嘗試將當前登錄的用戶用於ASP.Net應用程序,該應用程序幾乎肯定不會作爲您的Windows帳戶運行。它將是本地或網絡服務帳戶之一或內置的ASP.Net用戶。

您也正在使用錯誤的變量名稱附加數據庫文件,如果這實際上是您想要的而不是連接到服務器上的實際數據庫。

我建議你做的是在你的實例上啓用SQL Server身份驗證,創建一個新用戶並根據需要授予它對數據庫的權限。

然後,您可以登錄使用以下格式:

Server=myServerAddress; Database=myDataBase; User Id=myUsername; Password=myPassword; 

myServerAddresslocalhostTOM-PC; Database將顯示在Management Studio中的數據庫名稱; User Id將是您剛創建的用戶的用戶名,Password將是您在創建期間爲其設置的密碼。

如果你真的想附加數據庫文件,然後在連接字符串,即可使用此格式:

Server=myServerAddress; AttachDbFilename=C:\Path\To\Database\File.mdf; Database=myDataBase; Trusted_Connection=Yes; 

通常情況下,你可以得到最連接字符串變量,你將需要:http://www.connectionstrings.com/sql-server/

+0

我很愚蠢,它與新用戶合作!謝謝! 但是,如果不創建新用戶,爲什麼我無法連接? – ASPFox

+0

就像我說過的,IIS工作進程(w3wp)以不同的帳戶運行到您的域用戶帳戶。它通常在默認設置下作爲網絡服務帳戶運行,並且該帳戶在SQL Server中沒有權限。您可以查找應用程序池的標識(服務帳戶)並在SQL Server中授予這些權限,但這不被認爲是一種好的做法,應該使用專用的Windows帳戶或SQL Server帳戶。 – Sean

相關問題