在我的web.config
中,我定义了以下连接字符串,用于sqlexpress(代码优先实体框架方法)中不存在的数据库
<connectionStrings>
<add name="cityconnectionstring" connectionString="Data Source=.sqlexpress;Initial Catalog=CityPolulation;Integrated Security=True;MultipleActiveResultSets=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
所以一旦我在web.config
文件上定义了这个,我可以看到cityconnectionstring
在Visual Studio的Server Explorer
窗口Data Conncetion
下列出。
但是当我尝试右键单击上面的连接字符串并点击Refresh
时,我在Visual Studio中得到以下错误。
Server Explorer Error
服务器资源管理器无法执行此操作,请参见下文细节。
无法打开登录请求的数据库" citypopulation "。的登录失败。用户"PC-nameusername"登录失败。
上述错误的答案均适用于已存在的db。
如何在Windows认证下为不存在的数据库设置连接sqlserver的权限。
IIS
或SQL server Management Studio
的设置是什么呢
验证连接时,它检查您是否有权访问数据库。如果数据库不存在,则无法验证连接。
如果你的问题的标题表明,你想创建数据库,那么你仍然需要首先连接到一个数据库。如果你有创建数据库的权限,那么你当然有访问"主"数据库的权限。
但是,我希望您不要期望所有用户都能够创建数据库,因为这意味着所有用户对服务器都有太多的权限!
EDIT修改连接的数据库为master。这将证明你们是有联系的。
然后手动(在SSMS或您使用的任何工具中)在服务器上创建新数据库。
现在修改连接以使用新的数据库连接。您现在应该可以连接了。
实体框架不能创建数据库。但是,一旦创建了数据库,它就可以创建表和数据。