难以从VB.NET(Express)连接到SQL Server Express 2012

时间:2013-11-27 14:14:00

标签: sql-server vb.net

我正在尝试使用VB.NET连接到本地安装的SQL Server 2012 Express实例。我已经能够使用拖放连接工具成功连接到数据库,它提供了这个连接字符串:

Data Source=mycomputername\sqlexpress;Initial Catalog="my space containing database name";Integrated Security=True

我可以成功测试此连接。现在,我想从这个数据库中的表中填充数据网格,所以在我所拥有的项目的“根”(你真正称之为这个地方吗?)中:

Imports System.Data
Imports System.Data.SqlClient

并且在表单定义中(在任何事件处理程序之前)我有

Private cn As New SqlConnection("Data Source=mycomputername\sqlexpress;Initial Catalog=[my space containing database name];Integrated Security=True;")
Private da As New SqlDataAdapter("select * from MyTable", cn)
Private ds As New DataSet
Private cmb As New SqlCommandBuilder(da)

这就是火车离开赛道的地方。我收到错误:

  

无法打开登录请求的数据库“MyDatabase”   登录失败。用户'MyLogin'登录失败。

我确保SQL Server Express已选中Remote Login复选框,并尝试连接字符串的其他变体,但没有运气。非常感谢。

1 个答案:

答案 0 :(得分:0)

您使用的是ASP.NET吗?您的应用程序可能在不同于Visual Studio的用户下运行(集成安全性使用您的Windows身份验证,基于您的应用程序模拟的用户 - 在Web应用程序中,通常是像NETWORK SERVICE这样的用户)。您只需将此用户添加为SQL服务器和数据库的用户之一。

编辑:我现在看到了。 '\ s'是字符串中的特殊字符。 使用它作为您的连接字符串:

"Data Source=mycomputername\\sqlexpress;Initial Catalog=[my space containing database name];Integrated Security=True;"

编辑:不,我的不好,你正在使用VB,这种转义在C#中使用。