C# Ressourcen Problem

Bierseppi

PCGH-Community-Veteran(in)
Hallo zusammen,

Ich hab im Studium zz. ein Projekt im Team und zwar sollen wir eine Patientenverwaltung entwickeln mit allem drum und dran.
Jetzt treten wir gerade in die Testphase für einige Module ein und die Verwaltung ist zu 95 % fertig.
Heute habe ich dann im Visual Studio 2013 Premium das Projekt veröffentlicht, damit die Tester ran können.
Als erstes Problem hat sich entpuppt, dass wir die Datenbank nicht als Ressource eingefügt hatten, sondern immer nur auf den direkten Pfad zugriffen.
Jetzt hab ich die Access Datenbank als Ressource eingefügt, aber ich finde nicht raus, was der richtige "Pfad" ist, da ich eigentlich mit einem refernziellen Pfad arbeiten möchte, also nicht den direkten Pfad, sondern nur der Pfad in dem Projekt-/Installationsverzeichnis.
Das folgende ist mein aktueller Connection String: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\Patientenverwaltung.accdb";
Das Problem ist, da greift er immer auf eine alte Datenbank Version zu, welche nicht mit dem aktuellen Aufbau übereinstimmt.
Folgendes ist der Projektmappen Explorer, wo man sieht, dass die Datenbank auch im Verzeichnis ist.

Projektmappe.PNG

Hat jemand von euch dazu vielleicht eine Lösung?
Bzw kann mit eine Hilfestellung geben, da ich bei Google nicht finden kann, was mich betrifft.

Beste Grüße und Danke im Voraus

Maxi
 
Wird die aktuelle DB denn auch ins Output Verzeichnis kopiert? Bei den Eigenschaften zu einer Datei im Projektexplorer gibt es normalerweise ein Feld, das das regelt. Im Englischen heißt das "Copy to output directory".
 
Da muss ich mal schauen, danke für den Hinweis

EDIT: Die Einstellung müsste passen oder ? :
eigenschaften_Datenbank.PNG
 
Zuletzt bearbeitet:
Äh, ist es Projektvorgabe die Datenbank mit in die Ressourcen einzubinden? Ich sehe da eigentlich kein Problem die .exe zusammen mit der Datenbankdatei liegen zu lassen.

Ansonsten:
im Projektmappenexplorer auf Patientenverwaltung > Properties > doppelklick Resources.resx > Ressource Hinzufügen > Datei auswählen oder die Datenbank reinziehen.

dann im Code:

namespace Patientenverwaltung
{
class Klassenname
{
private SqlDatabase myDatabase;

public Klassenname()
{
this.myDatabase = Patientenverwaltung.Resources.Patientenverwaltung //Dateiname und Typ können abweichen
}
}
 
Zurück