2016-01-05 69 views
-2

在PC1中,我創建了一個使用本地SQL服務器數據庫的C#應用​​程序獲勝表單,然後使用Visual Studio將我的應用程序部署到.exe文件。然後我安裝了exe文件到同一臺PC(PC1)和我工作正常,可以使用下面的連接字符串連接到SQL數據庫:從C#應用程序連接到本地SQL服務器時出錯

 SqlConnection con = new SqlConnection("Data Source=local; Initial Catalog=mydb; Integrated Security=True"); 

的問題是:當我去到另一臺電腦(PC2)我安裝SQL服務器和我手動連接相同的數據庫(mydb的),然後安裝在我的應用程序,但它給了我下面的錯誤:

screenshot

但是,當我改變PC2的相同PC1名的應用程序可以連接它運作良好。這意味着如果我想在不同的PC上安裝我的應用程序那麼我必須將該PC命名爲與我在C中創建我的C#的原始PC相同的名稱(PC1)。

爲什麼會發生此錯誤?我的意思是爲什麼我必須將其他PC設置爲與原始PC(PC1)具有相同的名稱。請幫我解決這個問題。謝謝

+5

你的名字真的不應該問同樣的問題兩次。 http://stackoverflow.com/questions/34597680/why-cant-i-connect-to-the-sql-server-database-when-i-create-setup-file-in-visua –

回答

2

您不必在不同的PC上擁有相同的名稱以將C#程序連接到SQL服務器。我想指出的一件事,也許你知道,也許你不是。如果你在每臺機器上安裝數據庫,他們的程序將不會共享數據(再次,這可能聽起來很愚蠢,但以防萬一)。

對於錯誤本身,如果您在計算機PC2上安裝了SQL Server,請轉到「服務」並仔細檢查SQL Server INSTANCE是否與您在連接字符串上設置的SQL Server實例相同。你甚至不必擁有相同的數據庫名稱,它可以在每臺機器上完全不同,重要的是要有正確的連接字符串(你應該有連接字符串作爲配置,你可以很容易地從.conf文件。

在服務器工作正常(檢查可能彈出任何錯誤,服務和事件查看器)PC2只要仔細檢查,你也可以嘗試,而不是本地127.0.0.1

+0

@ ProgrammerV5。是的,pc2上的服務器運行良好。我必須將PC1的名稱設置爲PC2,否則該應用程序將無法工作。我指定數據源=本地主機,所以它應該工作,但我不知道爲什麼。任何想法?謝謝 – Serena

2

您需要激活的Sql服務器和Windows身份驗證,並將您的連接字符串從集成安全性更改爲用戶/密碼身份驗證。

enter image description here

數據源需要改變要麼IP或服務器

相關問題