Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
Sql server 从Visual Studio中的SQL Server Express数据库获取数据库名称_Sql Server_Sql Server 2008_Entity Framework_Iis 7.5_Sql Server Express - Fatal编程技术网

Sql server 从Visual Studio中的SQL Server Express数据库获取数据库名称

Sql server 从Visual Studio中的SQL Server Express数据库获取数据库名称,sql-server,sql-server-2008,entity-framework,iis-7.5,sql-server-express,Sql Server,Sql Server 2008,Entity Framework,Iis 7.5,Sql Server Express,我当前正在使用此连接字符串连接到我在Visual Studio中创建的数据库: Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Database1.mdf;User Instance=true 我正在尝试使用IIS托管站点,这样我就可以处理响应头了,但我得到了下面描述的问题: 我试图找到要指定的数据库名称,但没有任何运气。我尝试了Initial Catalog=Database1

我当前正在使用此连接字符串连接到我在Visual Studio中创建的数据库:

Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Database1.mdf;User Instance=true
我正在尝试使用IIS托管站点,这样我就可以处理响应头了,但我得到了下面描述的问题:

我试图找到要指定的数据库名称,但没有任何运气。我尝试了
Initial Catalog=Database1
,但出现了以下错误:

无法创建文件“D:\docs\Visual Studio” 2010\Projects\QuickHomePage\QuickHomePage\App\u Data\Database1.mdf' 因为它已经存在了。更改文件路径或文件名,然后 请重试该操作。
创建数据库失败。列出了一些文件名 无法创建。检查相关错误

我只是想连接到
数据库1.mdf
。为什么它会在尝试创建时出错?一条评论建议将.mdf文件附加到另一个数据库实例,以查看其中的内容


这是否需要运行SQLServerManagementStudio?每次尝试连接到服务器类型的数据库引擎和本地计算机时,都会出现连接错误。

数据库名称是将.MDF文件附加到SQL Server(Express)服务器实例时提供的名称。MDF中没有需要发现的固定数据库名称-服务器上数据库的名称完全取决于您自己

因此,如果您像这样附加
数据库1.mdf

CREATE DATABASE CrazyDatabase ON
( FILENAME = N’C:\Data\Database1.mdf’ ),
( FILENAME = N’C:\Data\Database1_Log.ldf’ )
FOR ATTACH
然后,您的数据库名称是
CrazyDatabase
——但它与原始MDF的文件名或其中的任何内容没有任何联系——您也可以将其称为任何其他名称——无论您选择什么

在这种情况下,您的新连接字符串将是:

Server=.\SQLEXPRESS;Database=CrazyDatabase;Integrated Security=SSPI;

所以同时指定.mdf文件和数据库是没有意义的?在将其附加到“真实”实例的过程中,我指定了一个数据库名称?这是否意味着如果我想通过IIS托管,就不能将.mdf文件与EF一起使用?@RandomEngy:yes-“AttachDbFileName=”仅用于您自己的开发机器上的开发目的;一旦投入生产,您将数据库放到一个真正的SQL Server上,并将其连接,从那时起,您只会使用您定义的数据库名称—文件名变得完全不相关。您不应该在连接字符串中同时定义这两者!谢谢你把事情弄清楚。我现在把一切都准备好了,运转得很好。