我已经使用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:”时收到错误。
所以,我的数据库存在,但有人可以向我解释我应该用来“使用”我的数据库的语法吗?
答案 0 :(得分:1)
您不应该以这种方式使用use
命令!您必须通过将其设置为初始目录直接连接到应用程序的数据库。如果你没有被授权这样做,那么use
命令也不会让你这么做。因此,您必须修复数据库的授权:在Sql Server Management Studio中为您的Windows帐户创建一个登录名,并授予它对应用程序数据库的读/写访问权限。