2013-05-04 64 views
1

SQL服務器名稱:ECARE432
實例名稱:SQLEXPRESS提供商命名管道提供程序錯誤40 - 無法打開到SQL Server的連接2008

app.config包含:

<connectionStrings> 
    <add name="TimeTracker.Properties.Settings.myecareConnectionString" 
     connectionString="Data Source=ECARE432;Initial Catalog=myecare;Persist Security Info=True;User ID=sa;[email protected]" 
     providerName="System.Data.SqlClient"/> 
</connectionStrings> 

我已經開發了我的第一個應用程序在WPF(C#)與VS 2008 & SQL Server 2008.它在我的系統上工作正常。部署之後,它不適用於其他系統。

它顯示以下錯誤消息。

provider named pipes provider error 40 - could not open a connection to sql server 2008

我已經通過谷歌並完成了以下步驟,但沒有用。

  1. 配置工具 - > SQL Server配置管理器 - > SQL Native Client配置別名 - >別名 - > ECARE432,1433,端口號 - > 1433,協議 - > TCP/IP,服務器名稱 - > ECARE432
  2. TCP/IP已啓用。協議 - > TCP/IP屬性 - > IP1 - >激活 - 是啓用 - 是,IP地址 - 我的系統IP地址,TCP動態端口 - 空白,TCP端口 - 1433
    • IP2 - >激活 - 是的,IP地址 - 127.0.0.1,TCP動態端口 - 空白,TCP端口 - 1433
    • IPALL - > TCP動態端口 - 空白,TCP端口 - 1433
  3. 的SQL Server瀏覽器運行。
  4. 服務器名稱正確。沒有錯字不匹配。
  5. 客戶端機器能夠ping我的機器。 (PING ECARE432正在工作)
  6. TCP 1433和UDP 1434例外添加到防火牆。還關閉了我的系統和客戶端系統中的防火牆。
  7. sqlbrowser.exe被添加到防火牆例外列表中。
  8. 允許在SQL Server屬性中的連接下啓用遠程連接。
  9. Visual Studio - >工具 - >選項 - >數據庫工具 - >數據連接 - >將sqlexpress中的「SQL Server實例名稱」更改爲空白。

請指導我如何解決這個問題。

回答

2

如果您有SQL服務器名稱:ECARE432和實例名稱:SQLEXPRESS - 那麼你需要在連接字符串中使用ECASE432\SQLEXPRESS的價值爲您Data Source=

<connectionStrings> 
    <add name="TimeTracker.Properties.Settings.myecareConnectionString" 
     connectionString="Data Source=ECARE432\SQLEXPRESS;Initial Catalog=myecare;Persist Security Info=True;User ID=sa;[email protected]" 
     providerName="System.Data.SqlClient"/> 
</connectionStrings> 

按照同樣的思路 - 如果您的實例真的叫SQLEXPRESS - 那你爲什麼要這樣做?

Visual Studio --> Tools --> Options --> Database Tools --> Data Connections --> Changed "SQL Server Instance Name" from sqlexpress to blank.

根本沒有意義。如果實例實際上是SQLEXPRESS - 讓它成爲!

+0

是的。實例是SQLEXPRESS,所以我改變了Visual Studio設置。但是,如果我將數據源更改爲ECARE432 \ SQLEXPRESS,則會收到舊的以下錯誤 - 錯誤:26 - 指定的錯誤定位服務器/實例。我有點困惑。 – Aruna 2013-05-04 10:50:31

+1

但是使用Management Studio,您可以**連接到'ECARE432 \ SQLEXRPESS' - 對嗎?這是運行SQL Server Express的**遠程**機器(例如某種服務器)嗎? ** Express **版本默認情況下不允許遠程連接 - 是否顯式啓用了SQL Server Express實例的遠程連接? – 2013-05-04 10:51:42

+1

請參見:[如何配置SQL Server 2005 Express以允許遠程連接](http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277) – 2013-05-04 11:05:57

相關問題