2010-11-19 174 views
2

在我的prod服務器上,我有兩個SQL Server實例,SQL Server 2000是默認實例,並且我將\ SQLEXPRESS2008作爲一個額外的命名實例。在我的Web項目中,我需要連接到默認的SQL 2000實例。無法連接到LINQ to SQL網頁上的SQL服務器

我使用LINQ在Visual Studio 2008中

在Visual Studio中的服務器資源管理器SQL中,我可以創建到數據庫的連接,看到所有的表格,正確生成的LINQ to SQL類,等

在Management Studio中我可以連接到數據庫,看到的一切,編輯等

當我嘗試運行我的web項目的代碼,但是,我得到:

A 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)

在Web項目中我的連接字符串的樣子:

<add name="myConnectionString" connectionString="Data Source=myServer.com;Initial Catalog=myDB;Persist Security Info=True;User ID=sa;Password=XXXXX" providerName="System.Data.SqlClient" /> 

(我用sa帳戶測試出絕望的)。

我有其他的web項目運行良好,並利用該數據庫,但是這是一個使用LINQ to SQL類(如果該事項)只有一個

幫助表示讚賞

喬納森

+0

「我有其他的Web項目運行良好,並利用數據庫」,我認爲這些不在生產數據庫服務器上託管? – 2010-11-19 05:41:13

回答

1

如果Web服務器與SQL服務器相同,只需使用.作爲服務器名稱;簡單得多。

如果我們的網絡服務器而不是與SQL服務器相同,請確保這些服務器之間通過任何防火牆等都存在視線。還要確保服務器名稱解析(在很多方面,它是如果無法保證名稱解析,則更簡單地使用連接字符串中的IP地址)。

1

這可能與我發生的事情是一樣的,也是有關LINQ to SQL的最煩人的事情之一。每次對dbml進行更改時,都會恢復到VS中服務器資源管理器使用的連接。您必須右鍵單擊設計圖面,然後手動將連接更改回「myConnectionString」,重新編譯並運行。