2010-09-21 41 views
1

我想在本地連接vb 2008與sql server 2005。我在同一檯筆記本電腦上有數據庫,但我總是遇到錯誤。這裏是我的代碼:在本地連接vb 2008與sql server 2005

Dim strconn As String 
strconn = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Database;Data Source=(local)" 
Try 
    Dim connection As New SqlClient.SqlConnection(strconn) 
    connection.Open() 
Catch ex As Exception 
    MessageBox.Show("failed") 
End Try 

如果我運行它,它會提示「失敗」消息框。 代碼有問題嗎?我應該怎麼辦

回答

0

你應該看看錯誤的詳細信息(在ex對象)的正是細節找出連接失敗:

MessageBox.Show(ex.ToString()) 

(我是一個大括號的人,所以我的VB可能稍微關閉)

+0

它顯示:System.Data.SqlClient.SqlException:建立到SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。 System.Data.SqlClient.SqlException:建立與SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:命名管道提供程序,錯誤:40 - 無法打開連接到SQL Server) – vina 2010-09-21 04:35:14

+0

@VINA - 這意味着'數據源=(本地)'位是錯誤的。您可以使用Management Studio連接到SQL Server嗎?如果是這樣,請複製並粘貼「服務器名稱」字段的值,例如「Integrated Security = SSPI; Persist Security Info = False; Initial Catalog = Database; Data Source = MYMACHINE \ SQLEXPRESS」 – Justin 2010-09-21 04:59:02

+0

如何打開管理工作室?但我的筆記本電腦上也有vb 2005,它可以使用服務器名localhost連接到數據庫。但是當我在這裏嘗試時,它失敗了。 – vina 2010-09-21 07:41:35

1

您發佈的錯誤消息清楚地表明您在連接字符串中定義的服務器不可用。

是否有可能使用SQL Server Express版本?如果您沒有在安裝程序中明確取消選中該選項,則會與Visual Studio 2008一起安裝。

Express版本默認爲SQLExpress實例安裝,讓您的連接字符串必須是這樣的:

server=(local)\SQLExpress;database=databaseName;integrated security=SSPI; 
在這種情況下

+0

是的,好像數據庫無法找到。我不是我使用的是sql server express版本,因爲當我單擊開始>>所有程序>> Microsoft Sql Server 2005.所以它不是sql server espress版本,對不對? – vina 2010-09-21 07:45:57