我的数据库为空(无表),我想使用Update-Database从我的模型中创建所有表。因此,我添加了一个初始迁移,该迁移显示了必须添加到数据库中的所有表。
我的连接字符串是:Data Source=webhw27.htx-net.pl,51433;Initial Catalog=1832_testowa;Integrated Security=false;User ID=1832_admin;Password=******;Encrypt=True;TrustServerCertificate=True
在更新数据库期间,我得到
数据库'master'中的CREATE DATABASE权限被拒绝
为什么我要更新1832_testowa
数据库时尝试创建数据库主数据库?我还向Database.SetInitializer<ApplicationDbContext>(null);
添加了Global.asax
到另一个主题-仍然相同。
在托管面板中,我将此数据库默认设置为用户1832_admin
-仍然是同样的问题。
我还将此连接添加到了Visual Studio Server Explorer中,并且可以轻松地手动在此数据库中创建任何表。
问题出在哪里,为什么我现在不能使用Update-Database
进行迁移(如果将来我必须添加一些东西,为什么以后不能迁移)?
答案 0 :(得分:0)
尝试编写一个简单查询以在SQL Server中的数据库中创建一个表(如果需要,可稍后删除或删除表),如果执行成功,则需要检查是否正确提到了登录名,用户名和密码在Visual Studio的Web Config文件中。
示例:
<add name="DefaultConnection" connectionString="Data Source=DESKTOP-J87BQMD\SQLEXPRESS;Initial Catalog=cust1;User ID =xxxx;Password=xxxx" providerName="System.Data.SqlClient" />
在这里,还要检查名称“ DefaultConnection”是否与您在xyz.cs文件中提到的名称相同,您在其中提到了如下的sql连接,
SqlConnection con = null;
string result = "";
try
{
con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());
//your further code
}
如果您已正确完成所有操作,请尝试以下提到的过程,
在SQL Server中,转到安全-> 登录->选择并双击您的登录名(例如:sa)->
状态 >>授予权限,已启用登录
我遇到了同样的错误,上面提到的步骤消除了该错误,希望这也能解决您的问题。