簡體   English   中英

如何在Visual Studio中添加SQL Server數據庫文件(.mdf)而不安裝SQL Server Express Edition?

[英]How to add SQL Server database file (.mdf) in Visual Studio without installing SQL Server Express Edition?

我在Visual Studio 2010項目中添加.mdf文件(SQL Server數據庫)下面有一個錯誤

與SQL Server數據庫文件(.mdf)的連接要求在本地計算機上安裝並運行SQL Server 2005 Express或SQL Server 2008 Express

我不想安裝SQL Server Express(2005/2008),因為我已經安裝了SQL Server 2005 Enterprise Edition

我正在使用Visual Studio 2010 Ultimate

這真是令人討厭的一個。 基本上,在您正在開發的框架版本的Machine.config中,有一個LocalSqlServer條目。

在我的機器上,對於版本4:

C:\\ WINDOWS \\ Microsoft.NET \\框架\\ v4.0.30319 \\ CONFIG \\ Machine.config中

<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />

我發現,如果我將連接字符串的數據源部分更改為指向我的Sql 2005完整服務器實例,那么您提到的錯誤就會消失。

(類似於框架的其他版本,我也改變了)

在看到更改工作之前,我不記得是否需要重新啟動visual studio或整個機器。

請記住在編輯之前備份machine.config文件!

話雖如此,也沒有理由不能將數據庫添加到Sql Server本身(如果你有mdf),然后通過View - > Server Explorer - > Data Connections(右鍵單擊 - 從Visual Studio連接到它)。 >添加連接) - 你試過嗎?

我知道這篇文章有點老但我遇到了同樣的問題,我實際上找到了解決方案,所以我想分享它。

  1. 安裝sql express 2008 r2
  2. 在visual studio 2010中,轉到Tools -> Options
  3. 選擇Database Tools -> Data Connections並使用Database Tools -> Data Connections Sql Server Instance Name (blank for default)更新Sql Server Instance Name (blank for default)
  4. 然后按⊞Win + Rservices.msc 進入 services.msc
  5. 選擇SQL Server (<instance name of express edition>) ,右鍵單擊並選擇“ Properties
  6. 然后在服務的屬性窗口中,轉到“ Log On選項卡,然后選擇“ Local System account

完成這些步驟后,我可以將.mdf文件添加到visual studio 2010中。

也許可以在不安裝Sql server express的情況下完成它,只是從第二步開始,但我沒有嘗試。

如果不存在,您可以使用代碼添加

string curFile = @"C:\Dev\Test_data.mdf";
        if (!File.Exists(curFile))
        {
            SqlConnection connection = new SqlConnection(@"server=(localdb)\v11.0");
            using (connection)
            {
                connection.Open();

                string sql = string.Format(@"
                                    CREATE DATABASE
                                        [Test]
                                    ON PRIMARY (
                                       NAME=Test_data,
                                       FILENAME = '{0}\Test_data.mdf'
                                    )
                                    LOG ON (
                                        NAME=Test_log,
                                        FILENAME = '{0}\Test_log.ldf'
                                    )",
                    @"C:\Dev"
                );

                SqlCommand command = new SqlCommand(sql, connection);
                command.ExecuteNonQuery();
            } 
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM