2013-08-16 64 views
0

我一直有與SQL Server Express 2012的連接問題,我似乎無法從統一連接到它,我不斷收到錯誤消息:的SQL Server Express 2012 SocketException使用Unity

SocketException:一個現有連接被遠程主機強制關閉。

代碼:

var connectionString: String = 
     "Server=Jay\\MSSQLSERVER" + 
     "Database=bfcrg;" + 
     "User ID=Myuserid;" + 
     "Password=mypassword;"; 

    var dbcon: IDbConnection; 

    dbcon = new SqlConnection(connectionString); 
    dbcon.Open(); 

我做了一些研究&我發現,人們一直有與SQL Server Express 2008 &團結得到同樣的SocketException同樣的問題。

正如有人提出的那樣,我卸載了作爲命名實例安裝的服務器(SQLExpress)&將其重新安裝爲默認實例(MSSQLSERVER)。但是,沒有解決它。

我也檢查過它與防火牆關閉,所以沒有它與防火牆無關。

但是,我可以連接到SQL Server Management Studio的服務器,所以服務器似乎工作正常,我想。

所以,如果任何人有任何想法,請讓我知道!

乾杯! 非常感謝!

+0

連接到**默認**實例應該**不**需要您指定實例名稱!例如。你只需使用'server = .'或'server =(local)'(或指定機器名稱)**而不需要**實例名稱。 –

+0

「Server = Jay \\ MSSQLSERVER」部分後面沒有分號。 –

+0

嗯,這正是我想的,訪問默認實例時,您不需要指定實例名稱,但每當我離開**服務器= machinename **或** server = localhost **或* * server = 127.0.0.1 **或my ** server = localip **,它會拋出另一個socketException,表示**因爲目標機器主動拒絕它而無法建立連接** –

回答

1

所以這就是我最後想到的,沒有關係,如果我安裝了默認實例,但由於某些原因,我仍然需要指定實例名稱,然後在連接字符串中指定機器名稱。

&爲MS SQL Server Express的2012年接受TCP/IP連接,你應該去SQL Server配置管理器&單擊SQL Server網絡配置左邊&點擊協議服務器實例&改變TCP/IP禁用值啓用&只要你有其他必要的DLL,我應該在Unity中工作得很好。

非常感謝大家的幫助!

2

另一個gotchya是SQL瀏覽器服務被禁用。

enter image description here

相關問題