Problème connexion SQL Server Mobile

seebRnet Messages postés 3 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 14 novembre 2008 - 3 avril 2006 à 17:47
seebRnet Messages postés 3 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 14 novembre 2008 - 4 avril 2006 à 14:30
Bonjour à tous !

J'ai un problème de connexion à ma base de données SQL Server Mobile 2005.
En effet, l'ouverture de connexion avec le fichier sdf se passe apparemment bien mais lorsque je fais un requête simple du type "SELECT * FROM PDAOPTION", une sqlServerCE Exception est levée avec le message "La table spécifiée n'existe pas".

Voici en résumé le morceau de code qui flanche :

System.Data.SqlServerCe.SqlCeConnection connexionBD = new System.Data.SqlServerCe.SqlCeConnection("Data Source=bd.sdf");

if (connexionBD.State!=ConnectionState.Open)
{
connexionBD.Open();
}

DataSet ds = new DataSet();

System.Data.SqlServerCe.SqlCeDataAdapter toto = new SqlServerCe.SqlCeDataAdapter("SELECT * FROM PDAOPTION", connexionBD);

toto.Fill(ds, "RESULTAT");

L'ouverture de la connexion ne fait pas d'erreur et son statut est ouvert avant l'exécution de ce code car j'ai vérifié par un messageBox et l'exception se fait au niveau du Fill.

Est ce que quelqu'un a une idée et pourrait m'aider ?

Merci

C######


-seebRnet-

2 réponses

sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
4 avril 2006 à 11:09
essaye "SELECT * FROM [PDAOPTION]"
ou peut-etre en miniscule, jamais essayé SQL Server Mobile (pas encore) mais c'est peut-etre case-sensitive non ?
0
seebRnet Messages postés 3 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 14 novembre 2008
4 avril 2006 à 14:30
Salut sebseb42,

Merci pour ta réponse mais j'ai finalement trouvé. En fait, même si je croyais que l'ouverture de ma connexion à la BD se passait bien, il y avait un problème. Ce devait être l'émulateur POCKETPC qui était planté et qui me faisait croire que ça marchait. Ainsi, ce matin, l'ouverture de la connexion à la BD ne passait plus et il a fallu que je change la création de la BD : au lieu de passer seulement comme paramètre le nom du fichier SDF, il a fallu que je lui passe son chemin entier (le chemin relatif par rapport au lancement de l'appli ne marchait pas). Ainsi cette fois-ci, la connexion a vraiment marché et mes requêtes sont passées.

Pour cela, il faut donc mettre :

System.Data.SqlServerCe.SqlCeConnection
connexionBD
= new System.Data.SqlServerCe.SqlCeConnection("Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\bd.sdf" );

Ainsi, cette méthode de réflexion permet de récupérer le nom du répertoire où s'exécute l'application. On peut ainsi le rajouter en préfixe du fichier SDF.

Merci quand même !

C######

-seebRnet-
0
Rejoignez-nous