在MS SQLEXPRESS中使用master中的本地数据库

时间:2012-09-15 07:09:48

标签: sql-server vb.net linq

我已经使用SQLEXPRESS通过Visual Basic创建了一个本地数据库。

我打算使用LINQ从应用程序连接到数据库。这是我最初连接到数据库的声明:

Dim db As New DataContext("Data Source=localhost\SQLEXPRESS; Initial Catalog=master; Integrated Security=True;")

理想情况下,我的数据库将输入初始目录,但由于某种原因,这给了我身份验证错误。现在这个语句执行了,我的下一步是连接到我的特定数据库。但是,当我尝试连接这样的语句时:

Dim TestCommand = db.ExecuteCommand("Use MyDB.mdf")

我收到数据库不存在的错误。

当我使用以下命令查询我的数据库时:

SELECT name FROM master.sys.databases

返回的值为master,tempdb,model,msdb和C:USERS \ MY NAME \ DOCUMENTS \ MyDB.mdf

我已经尝试过上面的“TestCommand”写出数据库的目录,但是我在“C:”时收到错误。

所以,我的数据库存在,但有人可以向我解释我应该用来“使用”我的数据库的语法吗?

1 个答案:

答案 0 :(得分:1)

您不应该以这种方式使用use命令!您必须通过将其设置为初始目录直接连接到应用程序的数据库。如果你没有被授权这样做,那么use命令也不会让你这么做。因此,您必须修复数据库的授权:在Sql Server Management Studio中为您的Windows帐户创建一个登录名,并授予它对应用程序数据库的读/写访问权限。