2010-09-21 71 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