Ik heb de volgende testcase gemaakt. Je kan het uitvoeren door de code in je form constructor te plaatsen en een Local Database aan je project toe te voegen genaamd Data.sdf.
using System.Data.SqlServerCe;
De datasource is gespecificeerd zonder fullpath, dit betekent dat naar de database wordt gezocht in dezelfde directory als de executable. Indien bij het selecteren van een bestand door middel van de filedialog een bestand in dezelfde directory als de executable wordt opgegeven is er geen probleem. Indien ik bijvoorbeeld een file selecteer op de Desktop, gooit de open method een exception. Het probleem komt echter bij mij alleen voor op XP, niet op Vista. Ik heb al verschillende paths naar de console geschreven om te zien waar het probleem zit, maar zonder succes.
The database file cannot be found. Check the path to the database. [ Data Source = Data.sdf ]
using System.Data.SqlServerCe;
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| SqlCeConnection con = new SqlCeConnection("Datasource=Data.sdf"); Console.WriteLine(Application.ExecutablePath); Console.WriteLine(Application.LocalUserAppDataPath); Console.WriteLine(Application.CommonAppDataPath); //Console.WriteLine(Application.CommonAppDataRegistry); Console.WriteLine(Application.StartupPath); Console.WriteLine(Application.UserAppDataPath); Console.WriteLine(Application.UserAppDataRegistry); Console.WriteLine("---Separator---"); OpenFileDialog dialog = new OpenFileDialog(); dialog.ShowDialog(); Console.WriteLine(Application.ExecutablePath); Console.WriteLine(Application.LocalUserAppDataPath); Console.WriteLine(Application.CommonAppDataPath); //Console.WriteLine(Application.CommonAppDataRegistry); Console.WriteLine(Application.StartupPath); Console.WriteLine(Application.UserAppDataPath); Console.WriteLine(Application.UserAppDataRegistry); con.Open(); |
De datasource is gespecificeerd zonder fullpath, dit betekent dat naar de database wordt gezocht in dezelfde directory als de executable. Indien bij het selecteren van een bestand door middel van de filedialog een bestand in dezelfde directory als de executable wordt opgegeven is er geen probleem. Indien ik bijvoorbeeld een file selecteer op de Desktop, gooit de open method een exception. Het probleem komt echter bij mij alleen voor op XP, niet op Vista. Ik heb al verschillende paths naar de console geschreven om te zien waar het probleem zit, maar zonder succes.
The database file cannot be found. Check the path to the database. [ Data Source = Data.sdf ]