it-swarm.com.de

Wie füge ich eine SQL Server-Datenbankdatei (.mdf) in Visual Studio hinzu, ohne SQL Server Express Edition zu installieren?

Beim Hinzufügen einer .mdf-Datei (SQL Server-Datenbank) in einem Visual Studio 2010-Projekt ist ein Fehler aufgetreten

Für Verbindungen zu SQL Server-Datenbankdateien (.mdf) muss SQL Server 2005 Express oder SQL Server 2008 Express installiert sein und auf dem lokalen Computer ausgeführt werden

Ich möchte SQL Server Express (2005/2008) nicht installieren, da ich SQL Server 2005 Enterprise Edition bereits installiert habe

Ich verwende Visual Studio 2010 Ultimate

10
Ali

Das ist wirklich nervig. Grundsätzlich gibt es in Machine.config für die Version des Frameworks, für das Sie entwickeln, einen Eintrag für LocalSqlServer.

Auf meiner Maschine für Version 4:

C:\Windows\Microsoft.NET\Framework\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" />

Ich habe festgestellt, dass der von Ihnen erwähnte Fehler behoben wurde, wenn ich den Datenquellenteil der Verbindungszeichenfolge so geändert habe, dass er auf meine vollständige SQL Server 2005-Instanz verweist.

(Ähnliches für andere Versionen des Frameworks, die ich auch geändert habe)

Ich kann mich nicht erinnern, ob ich nur Visual Studio oder die gesamte Maschine neu starten musste, bevor die Änderungen funktionieren.

Denken Sie daran, Ihre machine.config-Dateien zu sichern, bevor Sie sie bearbeiten!

Abgesehen davon gibt es auch keinen Grund, warum Sie die Datenbank nicht in SQL Server selbst hinzufügen können (wenn Sie die MDF-Datei haben) und dann von Visual Studio aus über View -> Server Explorer -> Datenverbindungen eine Verbindung dazu herstellen (Rechtsklick - > Verbindung hinzufügen) - haben Sie das versucht?

10
dash

Ich weiß, dass dieser Beitrag ein bisschen alt ist, aber ich bin auf das gleiche Problem gestoßen und habe tatsächlich eine Lösung gefunden, daher möchte ich ihn teilen.

  1. Installieren Sie SQL Express 2008 R2
  2. In Visual Studio 2010 gehen Sie zu Tools -> Options
  3. Wählen Sie Database Tools -> Data Connections und aktualisieren Sie die Sql Server Instance Name (blank for default) mit dem Instanznamen Ihrer Datenbank.
  4. Gehen Sie dann zu den Diensten, indem Sie drücken ⊞Win + R und services.msc
  5. Wählen Sie die SQL Server (<instance name of express edition>), klicken Sie mit der rechten Maustaste und wählen Sie Properties
  6. Gehen Sie dann im Eigenschaftenfenster des Dienstes zur Registerkarte Log On und wählen Sie Local System account aus.

Nach diesen Schritten konnte ich eine .mdf-Datei in Visual Studio 2010 hinzufügen.

Vielleicht ist es auch möglich, es zu tun, ohne SQL Server Express zu installieren, nur ab dem zweiten Schritt, aber ich habe es nicht ausprobiert.

1
CodeArtist

sie können den Code verwenden, um den Code hinzuzufügen, falls er nicht vorhanden ist

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();
            } 
        }
0
David Fawzy