Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

base de données

3 réponses
Avatar
Jo
Bonjour, en vb2008 express et base de données SQL Server 2005
comment comprimer la base et réinitialiser également les index
j'ai essayé
Dim engine As New SqlServerCe.SqlCeEngine(MaConexionBase)
engine.Shrink()
ou
Dim engine As New SqlServerCe.SqlCeEngine
engine.Compact(MaConexionBase)
la base ai bien comprimer mais pas les index remit à zero comme
sa ce faisait avec jro pour les base access
j'oubli surement quelques choses ne voyant pas la différence
de résultat entre les 2 méthodes

Merci de votre aide

Jo

3 réponses

Avatar
Jérémy Jeanson
Attention sous accès entre les différentes versions on a perdu une
étape... et du vocabulaire.

On avait deux étapes:
- Réparation
- Compactage

... à un certain moment les deux on étés regroupées en une seule action
"comapcage" ou "entretien", je en sais plsu trop.

Donc je suis tenté de dire qu'il faudrait chercher deux méthode sous SQL
pour faire le travail.

Ou tout simplement, tu n'es peut être pas sur la bonne classe pour ce
que tu veux faire SqlCeEngine = SQL Server Mobile, dixit MSDN.
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Avatar
Patrice
Par principe le compactage Access faisait cette opération, SQL Server sépare
les deux d'où la différence de comportement...

http://msdn.microsoft.com/fr-fr/library/ms176057.aspx (DBCC CHECKIDENT en
Transact SQL, avec l'option RESEED) si tu veux dire réinitialiser les
compteurs automatiques.

Je te laisse voir si la méthode existe dans ce modèle objet (c'est plutôt
sur une table que sur la base).

A mon avis ce n'est utile que pour une réinitialisation complète de la base,
la présence de "trous" étant voulue (normalement une clé primaire ne devrait
pas être réutilisée). Si c'est juste une opération de maintenance, je ne
"boucherais" pas les trous...

--
Patrice


"Jo" a écrit dans le message de groupe de discussion :

Bonjour, en vb2008 express et base de données SQL Server 2005
comment comprimer la base et réinitialiser également les index
j'ai essayé
Dim engine As New SqlServerCe.SqlCeEngine(MaConexionBase)
engine.Shrink()
ou
Dim engine As New SqlServerCe.SqlCeEngine
engine.Compact(MaConexionBase)
la base ai bien comprimer mais pas les index remit à zero comme
sa ce faisait avec jro pour les base access
j'oubli surement quelques choses ne voyant pas la différence
de résultat entre les 2 méthodes

Merci de votre aide

Jo


Avatar
Jo
Bonsoir et merci de vos réponses
Mon idée était comme c'est la première fois que j'utilise ce genre de base
j'utilisais auparavant toujours Access, j'ai donc fait des essai sur cette
base
et donc les index ne sont pas réinitialisé après la suppression de mes
essais et compactage
et désirait repartir avec de bons index
par contre comme le souligne Jérémy sit on regarde MSDN SqlServerCe=mobile
or moi j'ai bien la référence System.Data.SqlServerCe qui ce trouve bien
dans le dataset ?
et si je la supprime du projet erreur dans le dataset il manque bien la
référence
n'il a t'il pas aussi dans SqlServerCe 'compact' ?
sinon la compression parait efficace et pour les index je vais voir avec
le lien
sinon pour la prochaine je ferait une sauvegarde avant
Jo


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de groupe de
discussion :
Par principe le compactage Access faisait cette opération, SQL Server
sépare les deux d'où la différence de comportement...

http://msdn.microsoft.com/fr-fr/library/ms176057.aspx (DBCC CHECKIDENT en
Transact SQL, avec l'option RESEED) si tu veux dire réinitialiser les
compteurs automatiques.

Je te laisse voir si la méthode existe dans ce modèle objet (c'est plutôt
sur une table que sur la base).

A mon avis ce n'est utile que pour une réinitialisation complète de la
base, la présence de "trous" étant voulue (normalement une clé primaire ne
devrait pas être réutilisée). Si c'est juste une opération de maintenance,
je ne "boucherais" pas les trous...

--
Patrice


"Jo" a écrit dans le message de groupe de discussion :

Bonjour, en vb2008 express et base de données SQL Server 2005
comment comprimer la base et réinitialiser également les index
j'ai essayé
Dim engine As New SqlServerCe.SqlCeEngine(MaConexionBase)
engine.Shrink()
ou
Dim engine As New SqlServerCe.SqlCeEngine
engine.Compact(MaConexionBase)
la base ai bien comprimer mais pas les index remit à zero comme
sa ce faisait avec jro pour les base access
j'oubli surement quelques choses ne voyant pas la différence
de résultat entre les 2 méthodes

Merci de votre aide

Jo