Databaseplacering/connectionstring til SQL Server 2005
Når jeg laver forbindelse til min .mdf database i en Windowsapplikation, så bruger jeg:Private Conn As New Data.SqlClient.SqlConnection()
Conn = New Data.SqlClient.SqlConnection("Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|RS2010.mdf")
Conn.Open()
Men hvor i filsystemet peger =|DataDirectory|RS2010.mdf egentlig hen?
Når jeg opretter en Windowsapplikation (WinApp), så laves der i filsystemet følgende struktur:
WinApp
WinApp
bin
Debug
database
Release
Database
mv.
Jeg kan se, at mine forms og en oprettet .mdf database placeres i nr. 2 WinApp, men når jeg laver ændringer i databasen med den nævnte forbindelse, sker der ingenting.
Flytter jeg derimod min .mdf ned i bin-biblioteket, så 'rammer' jeg og det er måske meget rimeligt, da .exe filen også placeres her.
Men spørgsmålet er, hvorfor Visual Studio (2005) placerer en oprettet .mdf database i nr. 2 WinApp, når der i virkeligheden arbejdes mod .mdf i bin-mappen?
Når applikationen senere skal deployes, er det vel også mest hensigtsmæssigt, at .exe og .mdf havner i samme bibliotek?
Hvad bruges 'database' bibliotekerne til?
Håber I kan bringe 'lys' over disse sammenhænge!
