我当前正在使用此连接字符串附加到我在 Visual Studio 中创建的数据库:
Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|Database1.mdf;User Instance=true
我正在尝试使用 IIS 托管该网站,这样我就可以搞乱响应 header ,但我遇到了此处描述的问题:SQL Server Express connection string for Entity Framework Code First
我正在尝试查找要指定的数据库名称,但没有任何运气。我尝试了 Initial Catalog=Database1
但这给了我这个错误:
Cannot create file 'D:\docs\Visual Studio 2010\Projects\QuickHomePage\QuickHomePage\App_Data\Database1.mdf' because it already exists. Change the file path or the file name, and retry the operation.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
我只是想附加到Database1.mdf
。为什么尝试创建它时会出现错误?一条评论建议将 .mdf 文件附加到另一个数据库实例以查看其中的内容。
这需要运行 SQL Server Management studio 吗?每次我尝试连接到服务器类型数据库引擎和本地计算机时,都会出现连接错误。
最佳答案
数据库名称是您将 .MDF 文件附加到 SQL Server (Express) 服务器实例时为其指定的名称。您需要发现的 MDF“内部”没有固定的数据库名称 - 这完全取决于您在服务器上如何称呼数据库。
因此,如果您像这样附加 Database1.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;
关于sql-server - 在 Visual Studio 中从 SQL Server Express 数据库获取数据库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7543711/