Heim Backend-Entwicklung C#.Net-Tutorial So schreiben Sie einen relativen Pfad, um die Access-Datenbank mit asp.net zu verbinden

So schreiben Sie einen relativen Pfad, um die Access-Datenbank mit asp.net zu verbinden

Nov 25, 2016 am 09:45 AM
asp.net

Wenn Asp.net eine Verbindung zur Access-Datenbank herstellt, schreiben wir normalerweise die Datenbankverbindungszeichenfolge in die Konfigurationsdatei web.config. Der Datenbankpfad in der Verbindungszeichenfolge kann nur als absoluter Pfad ausgedrückt werden. Wenn Sie das Programm verschieben möchten, müssen Sie den Datenbankpfad der Datenbankverbindungszeichenfolge in web.config ändern, was sehr mühsam ist. Es ist auch falsch, wenn es in Form eines relativen Pfads geschrieben wird, z. B. ~/database/test.mdb. Zum Beispiel:

 <connectionstrings>
    <add name="Access" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;data source=~/database/test.mdb" providername="System.Data.OleDb" />
  </connectionstrings>
Nach dem Login kopieren

Die obige Schreibweise ist falsch.

Derzeit gibt es zwei gängige Lösungen:

1. Durch die Verwendung der DataDirectory-Schlüsselwortmethode

Ab Asp.net 2.0 gibt es ein App_Data-Verzeichnis zum spezifischen Speichern von Datendateien . Kann zum Speichern von Access-, SQL Server Express-, XML- und anderen Datendateien verwendet werden. Sie können die Access-Datenbankdatei im Ordner App_Data ablegen und dann das Schlüsselwort DataDirectoty verwenden, um den Pfad abzurufen.

<connectionstrings>
    <add name="Access" connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;data source=|DataDirectory|test.mdb"  providername="System.Data.OleDb" />
  </connectionstrings>
Nach dem Login kopieren

2. Legen Sie zwei Zeichenfolgen in der web.config-Datei fest

Legen Sie zwei Zeichenfolgen in der web.config-Datei fest, eine ist die Treiberzeichenfolge und die andere ist der relative Zugriffspfad zum Datenbankdatei. Wenn Sie es verwenden, verwenden Sie Server.MapPath(), um den absoluten Pfad abzurufen, und dann kann die kombinierte Verbindungszeichenfolge verwendet werden.

<connectionStrings>
    <add name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;data source={0}"
      providerName="System.Data.OleDb" />
</connectionStrings>
<appSettings>
    <add key="AccessPath" value="~/Database/test.mdb"/>
</appSettings>
Nach dem Login kopieren

Bei Verwendung im Hintergrund lautet der Code wie folgt:

private string GetConnStr()
{
    string connStr = WebConfigurationManager.ConnectionStrings["Access"].ConnectionString;
    connStr = connStr.Replace("{0}", Server.MapPath(WebConfigurationManager.AppSettings["AccessPath"].ToString()));
    return connStr;
}
Nach dem Login kopieren


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So fügen Sie C-Compiler der nächsten Ebene hinzu So fügen Sie C-Compiler der nächsten Ebene hinzu Mar 03, 2025 pm 05:44 PM

So fügen Sie C-Compiler der nächsten Ebene hinzu

Was sind die Alternativen zu Null in der C -Sprache Was sind die Alternativen zu Null in der C -Sprache Mar 03, 2025 pm 05:37 PM

Was sind die Alternativen zu Null in der C -Sprache

Methode zum Kopieren von Code nach C -Sprachkompiler Methode zum Kopieren von Code nach C -Sprachkompiler Mar 03, 2025 pm 05:43 PM

Methode zum Kopieren von Code nach C -Sprachkompiler

Ist Null in der modernen Programmierung in der C -Sprache noch wichtig? Ist Null in der modernen Programmierung in der C -Sprache noch wichtig? Mar 03, 2025 pm 05:35 PM

Ist Null in der modernen Programmierung in der C -Sprache noch wichtig?

Welcher C -Sprachkompiler ist besser? Welcher C -Sprachkompiler ist besser? Mar 03, 2025 pm 05:39 PM

Welcher C -Sprachkompiler ist besser?

Was sind die Webversionen von C -Sprach Compilern? Was sind die Webversionen von C -Sprach Compilern? Mar 03, 2025 pm 05:42 PM

Was sind die Webversionen von C -Sprach Compilern?

C Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website Zusammenfassung C Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website Zusammenfassung Mar 03, 2025 pm 05:41 PM

C Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website Zusammenfassung

C Sprachkompilierer -Installations -Tutorial (Computerversion) C Sprachkompilierer -Installations -Tutorial (Computerversion) Mar 03, 2025 pm 05:41 PM

C Sprachkompilierer -Installations -Tutorial (Computerversion)

See all articles