Reputation: 23921
I'm an asp mvc 3 noobie. I've done a few tutorials and am now ready to keep learning by trying to build a site.
In all the tutorials, you connect to a SQL CE or SQL Express DB. But I want my site to build a DB on sql server.
I created a database on my networked server that I'll call MyDB. Then I set my connection string in my web config file like this:
add name="ApplicationServices"
connectionString="Data Source=Server\ServerInstance;Initial Catalog=MyDB;Integrated Security=True"
providerName="System.Data.SqlClient"
I created models and a scaffolding controller.
I created a simple DataBaseContext like this:
Imports System.Data.Entity
Public Class DatabaseContext
Inherits DbContext
Public Property Employee As DbSet(Of Employee)
Public Property AnnualLeave As DbSet(Of AnnualLeave)
End Class
But when I hit the following line in the scaffolding controller, i get the error:
Function Index() As ViewResult
Return View(db.Employee.ToList()) //CREATE DATABASE permission denied in database 'master'`.
End Function
Upvotes: 4
Views: 9754
Reputation: 5744
<add name="Default" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=test2;user id=sa;password=123456"
providerName="System.Data.SqlClient" />
Use this connection string for your application
Upvotes: 0
Reputation: 244
USE master; EXECUTE sp_addsrvrolemember @loginame = N'YourAppUserLogin', @rolename = N'dbcreator';
Upvotes: 0
Reputation: 711
1.You need to set IIS app pool identity to be ASP.NET integration mode.
2.Add a login in SQL Server for IIS APPPOOL\ASP.NET.
3.In SQL Server, set IIS APP POOL login to have dbcreator role.
Upvotes: 3
Reputation: 3466
Sounds like it is trying to create a new DB by the error message. I'm guessing that you are using EF code first with your project and using it's migration capability to build your DB. Check the setup of the EF context to make sure it's using your connection string.
The connection string or its name can be passed to constructor of DbContext. If you are using default constructor it searches for the connection string with the same name as the name of your derived context class. Basically, make sure your connection string has the same name as your derived dbcontext class and it should find it.
See this post for additional information
Upvotes: 4