2011-08-10 193 views
9

聲明:我明白這個問題是非常基本的,但我無法在Google或這裏找到答案,並且無法親自使用猜測的配置。將LINQPad連接到遠程SQL Server

我想開始使用LINQPad,並且我在同一個域中的不同機器上安裝了SQL Server 2005。但我無法從LINQPad連接到該服務器。

下面是截圖: Fail to connect

我怎麼把一個服務器字符串?

非常感謝提前!

更新1:​​確實有所作爲。相反,錯誤的

26 (Can not find server instance)

我得到錯誤

25 (Connection string is not correct)

我已經試過2個不同的SQL服務器:生產服務器和SQL Server 2008 R2本地機器上的SQL 2005年,我曾嘗試Windows身份驗證和SQL身份驗證。這沒有什麼區別。 但我可以連接到服務器(2005年和2008年)與MS SQL Server管理Studio與Windows和SQL服務器身份驗證。這不是SQL Server權限問題 - 我已經嘗試使用SA用戶進行連接。它適用於,但不適用於LINQPad。

有什麼建議嗎?我需要更改SQL Server上的設置嗎?

更新2:我找到了問題的解決方案。 進入服務器領域,我不得不把SERVERNAME\沒有指定SQLEXPRESSMSSQLSERVER
不是很直觀=(

+0

恭喜找到解決方案!您應該將其添加爲答案(並將其標記爲此類),以便將來爲人們清楚。 –

+0

如果SERVERNAME \起作用,那麼SERVERNAME(不帶\字符)也應該起作用。 – sgmoore

+0

@Ahmad當我發佈答案時,我不被允許回答我的問題。我肯定會現在做。 – trailmax

回答

5

我找到了解決問題的辦法。 在服務器字段中,我必須將「SERVERNAME」放在沒有任何SQLEXPRESS或MSSQLSERVER的情況下。 也正如@sgmoore指出的,我只需鍵入「LOCALHOST」或「SERVERNAME」即可連接。 顯然這是SQL Server功能/錯誤,與LINQPad無關。

UPD您也可以使用「。」表示「本地主機」 enter image description here

+1

非常好!如果它有任何的安慰,在嘗試從Mathematica連接到SQL Server時,我遇到了一個非常類似的問題,並且在Wolfram Research花費最多的時間來升級它。根本問題是有很多方法可以將連接字符串與輸入到對話框輸入字段或其他字段中的子字符串拼接在一起。有或沒有反斜槓,加倍的反斜槓,特殊的引用字符,以及所有其他的。很高興你得到它! –

2

你必須知道你想要的計算機和SQL-Server實例的名稱的名稱。例如,我有一個名爲REB602計算機,並使用就可以了SQLEXPRESS(預先安裝了許多版本的Visual Studio的SQL Server實例),那麼我輸入的字符串是REB602 \ SQLEXPRESS或。\ SQLEXPRESS。格式基本上是<計算機名稱> \ <實例名稱>

我認爲完整SQL-Server產品的默認實例名稱是MSSQLSERVER,因此如果您不知道目標計算機上實例的名稱,那麼可以嘗試使用它。

注意:由於超時,可能需要多次嘗試才能獲得連接。我不知道LinqPad是否可以讓你改變超時時間 - 我沒有看到方法。今天早上在計算機REB602上測試我的答案時,我在LinqPad對話框的底部做了「測試連接」,取得了成功,但連接仍然超時。我必須啓動SSMS(SQL Server管理工作室,用於SQL Server的IDE)來「加熱」我的SQLEXPRESS實例。之後,LinqPad像夢一樣工作。不要放棄第一次嘗試:)

+0

A!我錯過了MSSQLSERVER的MS。但是,現在我得到了不同的錯誤:身份驗證錯誤。但這是另一個問題。我試圖連接到生產服務器上的開發數據庫,​​所以它應該已經加快了速度 - )..謝謝! – trailmax