Connection per UNC

Guten Morgen,

Ich habe ein Problem bei dem Connection Befehl in C#.
Ich kenne nur diese Variante:

con.ConnectionString=„Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\hotline-v1.mdb“;

Nun möchte ich das ganze gerne mit UNC versuchen.
Doch wenn ich:

con.ConnectionString=„Provider=Microsoft.Jet.OLEDB.4.0;Data Source =\Tom\planx\hotline.mdb“;

eingebe, bekomme ich angezeigt das es eine nicht bekannte Excape-Folge sei.
Kann mir jemand sagen was ich ändern muss damit es funktioniert?

Vielen dank im voraus.

Gruß
Rudi

Hi!
Ganz einfach:

con.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source =\\Tom\planx\hotline.mdb";

oder Du escapest alle Backslashes separat. Momentan stört sich der Compiler an \p und \h.

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi!
Ganz einfach:

con.ConnectionString=@„Provider=Microsoft.Jet.OLEDB.4.0;Data
Source =\Tom\planx\hotline.mdb“;

oder Du escapest alle
Backslashes separat. Momentan stört sich der Compiler an \p
und \h.

Gruß,
Martin

Danke für die Hilfe.

Nun hätte ich noch eine Frage.
Wenn ich eine Verbindung per oleDbDataAdapter und oleDbConnection habe, kann ich dort den Pfad genauso ändern?

Rudi

Das Problem hatte nichts mit dem ConnectionString an sich zu tun, sondern mit der Art und Weise, wie in C# Stringliterale hingeschrieben werden.

Der Backslash hat da eine Sonderbedeutung (z.B. als Kombination \n für Newline), indem er mit dem nächsten Zeichen eine Escape-Sequenz bildet. Wenn man explizit den Backslash haben will, dann kann man nicht einfach ‚‘ hinschreiben, sondern muss ihn auch entwerten, indem man ‚\‘ hinschreibt.
Oder, wenn Dir die ganzen Backslashes zu viel sind, dann schreib vor den String ein @, damit sind die ganzen Sonderbedeutungen auf einmal weg.

Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]