Pb : VC#2008 Express et Base SQL Server 2005

Le
edforum
Bonjour à tous

>>> Contexte

1. Installation de la base AdventureWorksLT
J'ai installé la base AdventureWorksLT avec le fichier
AdventureWorksLT.msi .
J'ai lancé "SQL Server Management Studio Express" et ai accédé sans
difficulté à la base.
J'ai fermé ensuite "SQL Server Management Studio Express".

2. Accès depuis une application
J'ai lancé Visual C# 2008 Express.
J'ai ouvert un projet de test, et dans la winform par défaut j'ai mis
une DataGridView.
J'ai créé une source de données et l'ai associée à cette DataGrid=
View.
Cette source de données pointe sur le fichier AdventureWorksLT.mdf
installé dans
MSSQL.1MSSQLData ( répertoire par défaut ).
Pendant la création de cette source, l'assistant a demandé s'il devait
créer une copie de cette base dans /App_Data et utiliser cette copie.
J'ai refusé et demandé à utiliser la base située dans le répertoi=
re
par défaut de sql server 2005 express.

La DataGridView permet de visualiser tout le contenu de la table
produit (pour le test).
J'ai choisi un produit et ai modifié son libellé.

Jusque-là tout va bien !

J'ai fermé Visual C# et l'application par la même occasion.

>>> Problème

Je lance "SQL Server Management Studio Express" à nouveau pour
accéder
à la base, j'ai l'erreur suivante :

La base de données 'AdventureWorksLT' ne peut pas être ouverte, car
des fichiers sont inaccessibles, ou la mémoire ou l'espace disque sont
insuffisants. Pour plus d'informations, consultez le journal des
erreurs de SQL Server. (Microsoft SQL Server, Error: 945)

Le fichier AdventureWorksLT_Data_log.LDF a été ajouté dans le
répertoire par défaut de SQL Server 2005 Express, les fichiers
AdventureWorksLT_Data.mdf et AdventureWorksLT_Log.ldf sont toujours
présents.

Je constate que la base de données a été modifiée.
Y a-t-il une démarche pour qu'elle ne le soit pas, en dehors du fait
d'accepter la copie de la base dans le répertoire /App_Data de
l'application ?

Pour le développement, la copie dans le répertoire /App_Data local à
l'application s'impose.

Quid de la liaison entre l'application et la base en production ?
Il ne s'agit pas de reproduire ce genre de problème avec une base de
prod.

J'attends vos suggestions.

Merci d'avance

ED
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Agnain
Le #12145621
Tu as le choix :

- Ou tu récupère les données dans ton Winform en te connectant au
serveur de base de données (pas en ouvrant directement le fichier). Pour
ça il te fait te connecter avec une chaine de connexion du genre :
Data Source=localhost;Initial Catalog­ventureWorks;Integrated
Security=SSPI;

- Ou tu oublies l'utilisation de SQL Server Management Studio vu que ta
base est ouverte par ton programme.


SQL n'est pas FoxPro ! Il y a un système avec un vrai serveur qui donne
des accès aux données et tout... c'est un peu le principe...


edforum a écrit :
Bonjour à tous

Contexte







1. Installation de la base AdventureWorksLT
J'ai installé la base AdventureWorksLT avec le fichier
AdventureWorksLT.msi .
J'ai lancé "SQL Server Management Studio Express" et ai accédé sans
difficulté à la base.
J'ai fermé ensuite "SQL Server Management Studio Express".

2. Accès depuis une application
J'ai lancé Visual C# 2008 Express.
J'ai ouvert un projet de test, et dans la winform par défaut j'ai mis
une DataGridView.
J'ai créé une source de données et l'ai associée à cette DataGridView.
Cette source de données pointe sur le fichier AdventureWorksLT.mdf
installé dans
...MSSQL.1MSSQLData ( répertoire par défaut ).
Pendant la création de cette source, l'assistant a demandé s'il devait
créer une copie de cette base dans /App_Data et utiliser cette copie.
J'ai refusé et demandé à utiliser la base située dans le répertoire
par défaut de sql server 2005 express.

La DataGridView permet de visualiser tout le contenu de la table
produit (pour le test).
J'ai choisi un produit et ai modifié son libellé.

Jusque-là tout va bien !

J'ai fermé Visual C# et l'application par la même occasion.

Problème







Je lance "SQL Server Management Studio Express" à nouveau pour
accéder
à la base, j'ai l'erreur suivante :

La base de données 'AdventureWorksLT' ne peut pas être ouverte, car
des fichiers sont inaccessibles, ou la mémoire ou l'espace disque sont
insuffisants. Pour plus d'informations, consultez le journal des
erreurs de SQL Server. (Microsoft SQL Server, Error: 945)

Le fichier AdventureWorksLT_Data_log.LDF a été ajouté dans le
répertoire par défaut de SQL Server 2005 Express, les fichiers
AdventureWorksLT_Data.mdf et AdventureWorksLT_Log.ldf sont toujours
présents.

Je constate que la base de données a été modifiée.
Y a-t-il une démarche pour qu'elle ne le soit pas, en dehors du fait
d'accepter la copie de la base dans le répertoire /App_Data de
l'application ?

Pour le développement, la copie dans le répertoire /App_Data local à
l'application s'impose.

Quid de la liaison entre l'application et la base en production ?
Il ne s'agit pas de reproduire ce genre de problème avec une base de
prod.

J'attends vos suggestions.

Merci d'avance

ED


Eddy Maue
Le #12145611
Salut,

C'est vrai que Foxpro n'est pas SQL server. Par contre Visual Foxpro dialoque
très bien avec SqlServer, MySql et PostGres. Quand nos classes d'acces sont
bien développées, c'est avec une facilité déconcertante qu'on puisse changer le
contenu d'une simple variable pour pointer avec le server qui nous plaises.

Et cela m'amène à poser la question suivante :

Est ce que C# peut dialoguer avec MySql ou Postgres ?

Est-ce simple ?

eddy maue a+



Agnain a formulé la demande :
Tu as le choix :



- Ou tu récupère les données dans ton Winform en te connectant au serveur de
base de données (pas en ouvrant directement le fichier). Pour ça il te fait
te connecter avec une chaine de connexion du genre :
Data Source=localhost;Initial Catalog­ventureWorks;Integrated
Security=SSPI;



- Ou tu oublies l'utilisation de SQL Server Management Studio vu que ta base
est ouverte par ton programme.



SQL n'est pas FoxPro ! Il y a un système avec un vrai serveur qui donne des
accès aux données et tout... c'est un peu le principe...



edforum a écrit :
Bonjour à tous

1. Installation de la base AdventureWorksLT
J'ai installé la base AdventureWorksLT avec le fichier
AdventureWorksLT.msi .
J'ai lancé "SQL Server Management Studio Express" et ai accédé sans
difficulté à la base.
J'ai fermé ensuite "SQL Server Management Studio Express".

2. Accès depuis une application
J'ai lancé Visual C# 2008 Express.
J'ai ouvert un projet de test, et dans la winform par défaut j'ai mis
une DataGridView.
J'ai créé une source de données et l'ai associée à cette DataGridView.
Cette source de données pointe sur le fichier AdventureWorksLT.mdf
installé dans
...MSSQL.1MSSQLData ( répertoire par défaut ).
Pendant la création de cette source, l'assistant a demandé s'il devait
créer une copie de cette base dans /App_Data et utiliser cette copie.
J'ai refusé et demandé à utiliser la base située dans le répertoire
par défaut de sql server 2005 express.

La DataGridView permet de visualiser tout le contenu de la table
produit (pour le test).
J'ai choisi un produit et ai modifié son libellé.

Jusque-là tout va bien !

J'ai fermé Visual C# et l'application par la même occasion.

Je lance "SQL Server Management Studio Express" à nouveau pour
accéder
à la base, j'ai l'erreur suivante :

La base de données 'AdventureWorksLT' ne peut pas être ouverte, car
des fichiers sont inaccessibles, ou la mémoire ou l'espace disque sont
insuffisants. Pour plus d'informations, consultez le journal des
erreurs de SQL Server. (Microsoft SQL Server, Error: 945)

Le fichier AdventureWorksLT_Data_log.LDF a été ajouté dans le
répertoire par défaut de SQL Server 2005 Express, les fichiers
AdventureWorksLT_Data.mdf et AdventureWorksLT_Log.ldf sont toujours
présents.

Je constate que la base de données a été modifiée.
Y a-t-il une démarche pour qu'elle ne le soit pas, en dehors du fait
d'accepter la copie de la base dans le répertoire /App_Data de
l'application ?

Pour le développement, la copie dans le répertoire /App_Data local à
l'application s'impose.

Quid de la liaison entre l'application et la base en production ?
Il ne s'agit pas de reproduire ce genre de problème avec une base de
prod.

J'attends vos suggestions.

Merci d'avance

ED




Publicité
Poster une réponse
Anonyme