2017-11-29 3 views
-1

Ich speichere eine Datenbank in einer login.mdf Datei. Hier ist die Verbindungszeichenfolge mit dem vollständigen Pfad:Relativer Pfad zur Verbindungszeichenfolge der Datenbank

public SqlConnection Con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\PROJEKTMUNKA\PROGRAM\program_1.9\db_connect_ver_1\login.mdf;Integrated Security=True"); 

Der relative Pfad so etwas wie ..\..\login.mdf wäre.

Können Sie mir bitte helfen, meine Verbindungszeichenfolge zu korrigieren?

Antwort

0

Sie können Path.GetFullPath verwenden, um einen relativen Pfad in einen vollständigen Pfad umzuwandeln.

So:

var fullPath = Path.GetFullPath("..\..\login.mdf"); 

und als fullPath verwenden Sie es in Ihrer Verbindungszeichenfolge zu übergeben.

public SqlConnection Con = new SqlConnection([email protected]"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename={fullPath};Integrated Security=True"); 

Obwohl, würde ich stattdessen mit SqlConnectionStringBuilder vorschlagen.

var sqlConBuilder = new SqlConnectionStringBuilder(); 
sqlConBuilder.DataSource = @"(LocalDB)\MSSQLLocalDB"; 
sqlConBuilder.AttachDbFilename = Path.GetFullPath("..\..\login.mdf"); 
sqlConBuilder.IntegratedSecurity = true; 
var sqlCon = new SqlConnection(sqlConBuilder.ToString()); 
0

ich in meinem webconfig umgesetzt und seine Arbeit für mich in Ordnung:

<add name="DefaultConnection" 
    providerName="System.Data.SqlClient" 
    connectionString="Data Source=(LocalDb)\v11.0; 
    Initial Catalog=aspnet-JQueryCrud-20170401070305; 
    Integrated Security=SSPI; 
    AttachDBFilename=|DataDirectory|\aspnet-JQueryCrud-20170401070305.mdf" 
/>