4 Stimmen

Wie kann ich eine SQL CE-Datenbank beschädigen?

Ich möchte in der Lage sein, beim Start zu prüfen, ob die Datenbank beschädigt ist, und sie dann programmatisch zu reparieren. Ich kann dies tun leicht genug.

Mein Problem ist, dass ich testen möchte, ob die Dinge so funktionieren, wie ich es erwarte. Kennt jemand eine Möglichkeit, eine Datenbank absichtlich zu beschädigen, damit ich meinen Code testen kann?

2voto

MusiGenesis Punkte 72729

Sie könnten die SDF-Datei in ein Byte-Array laden, einige der Bytes zufällig verändern und das Array wieder in der Originaldatei speichern (oder die Datei in einen Hex-Editor laden und sich wie Shakespeares Affen benehmen).

Ich denke, das wird das tun, was Sie wollen, ohne das zu tun, was Sie wollen. Nach meiner Erfahrung wurden die Probleme, die ich mit beschädigten SqlCE-Datenbanken hatte, nicht durch SqlCeEngine.Repair (ver diese Antwort zu einer verwandten Frage). Es kann sein, dass Repair kann eine Datenbank reparieren, bei der einige Bytes zufällig verändert wurden, aber ich bin mir sicher, dass dies davon abhängt, wo in der Datei die Veränderung stattgefunden hat (z.B. in einer Datenseite oder im Dateikopf, wenn es einen gibt).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X