2012-07-20 76 views
2

我在Linq-to-SQL連接中遇到了一些問題,我開發了一個使用Linq-to-SQL的桌面應用程序,因爲我已經使用了基於服務的本地數據庫,並且爲此應用程序創建了一個設置,將.mdf文件放入我的安裝項目,我現在的問題是,當我創建的設置和其他電腦上安裝它,然後它會告訴我的錯誤一樣運行時數據庫連接期間的連接問題。

BA network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)lockquote

我的連接字符串是

connectionString="AttachDbFilename=|DataDirectory|\DailyExpense.mdf; 
        Integrated Security=True;User Instance=True" 
+1

那臺電腦是否還安裝了SqlExpress? – 2012-07-20 12:40:42

+1

是的,如果SqlExpress安裝,那麼它給我同樣的錯誤。 – 2012-07-20 12:47:40

+1

是否需要在使用.mdf文件時安裝客戶端SqlExpress? – 2012-07-20 12:48:28

回答

1

你寫的連接方式字符串表示您在目標計算機上安裝了SQL Server 。您使用的格式「指示」您的應用程序試圖將您提供的.mdf文件附加到sql server的本地RUNNING實例。如果您想使用遠程服務器,則必須稍微重寫連接字符串以指向服務器本身。您的連接字符串應該類似的東西:

data source=(MY MACHINE)\sqlexpress;initial catalog=DailyExpense;integrated security=True 

其中: - 我的機器會在其上的SQL Express實例運行服務器。 - sqlexpress是sql實例的名稱(默認爲sqlexpress)。 - DailyExpense是數據庫的名稱(假設數據庫名稱與您提供的mdf文件相同)。

+0

感謝您的回覆,但我懷疑您的回覆,如果我正在寫數據源=(我的機器),它將如何在目標機器上工作? – 2012-07-26 14:32:50