Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架未创建数据库,sql错误18456_C#_Asp.net_Sql Server_Entity Framework 6 - Fatal编程技术网

C# 实体框架未创建数据库,sql错误18456

C# 实体框架未创建数据库,sql错误18456,c#,asp.net,sql-server,entity-framework-6,C#,Asp.net,Sql Server,Entity Framework 6,用ASP.NETMVC测试EntityFramework 6时,我遇到了一个问题:理论上,EntityFramework应该在第一次查询数据库后创建数据库,如果它不存在的话 在我的例子中,实体框架进行查询,SQLServerExpress以 错误18456,状态38:无法打开数据库 我的连接字符串是: Data Source=.\SQLEXPRESS;Initial Catalog=BITSBotDB;User ID=***;Password=********;Integrated Securi

用ASP.NETMVC测试EntityFramework 6时,我遇到了一个问题:理论上,EntityFramework应该在第一次查询数据库后创建数据库,如果它不存在的话

在我的例子中,实体框架进行查询,SQLServerExpress以

错误18456,状态38:无法打开数据库

我的连接字符串是:

Data Source=.\SQLEXPRESS;Initial Catalog=BITSBotDB;User ID=***;Password=********;Integrated Security=SSPI

所以,问题-我做错了什么?

检查用户在sql中的权限,尝试赋予用户
db_owner
角色,并尝试错误是否保留。从一开始它就是db_owner使用SSMS转到sql Server并导航到安全>登录>右键单击帐户,然后选择属性。单击“用户映射”选项卡,然后检查登录是否映射到数据库BITSBotDB,然后检查数据库角色,您的错误与登录用户的凭据有关首先,Entity framework应该在服务器上创建数据库。在我在ASP.NET上的项目之前,我在我的PC上用LocalDB在Windows窗体中尝试过它,它确实创建了数据库。(现在我在远程服务器上试用它-win2016core+IIS10+ASP.NET+SQLEXPRESS)。然后,我已经准备好自己创建数据库(使用您所说的所有映射),但没有结果。关于凭据-我相信您是对的,因为SQL日志将凭据显示为“IIS APPPOOL***”,但状态38的描述告诉您,凭据没有问题。另外,根据您的登录名,您会说俄语吗?如果您使用SQL凭据,则更容易)删除
integratedsecurity=SSPI
。如果指定了用户ID和密码,并且集成安全性设置为true,则将忽略用户ID和密码,并使用集成安全性。请参见在sql中检查用户的权限,尝试赋予用户
db\u owner
角色,并尝试错误是否持续。从一开始就是db\u owner。使用SSMS转到sql Server并导航到安全>登录>右键单击帐户,然后选择属性。单击“用户映射”选项卡,然后检查登录是否映射到数据库BITSBotDB,然后检查数据库角色,您的错误与登录用户的凭据有关首先,Entity framework应该在服务器上创建数据库。在我在ASP.NET上的项目之前,我在我的PC上用LocalDB在Windows窗体中尝试过它,它确实创建了数据库。(现在我在远程服务器上试用它-win2016core+IIS10+ASP.NET+SQLEXPRESS)。然后,我已经准备好自己创建数据库(使用您所说的所有映射),但没有结果。关于凭据-我相信您是对的,因为SQL日志将凭据显示为“IIS APPPOOL***”,但状态38的描述告诉您,凭据没有问题。另外,根据您的登录名,您会说俄语吗?如果您使用SQL凭据,则更容易)删除
integratedsecurity=SSPI
。如果指定了用户ID和密码,并且集成安全性设置为true,则将忽略用户ID和密码,并使用集成安全性。看见