C#: "System.Data.XmlReadMode" enthält keine Definition für "WriteSchema" (CS0117)

Wenn Sie beim Programmieren in C# (CSharp) eine der beiden folgenden Fehlermeldungen erhalten, passen Befehl und Option nicht zueinander. „System.Data.XmlReadMode“ enthält keine Definition für „WriteSchema“. (CS0117) – C:\test\xml_error.cs:186,37 „System.Data.XmlWriteMode“ enthält keine Definition für „ReadSchema“. (CS0117) – C:\test\xml_error.cs:186,37 Korrigieren Sie Ihren Befehl entsprechend, denn nur beim XmlReadMode können Sie die Option „ReadSchema“ verwenden und nur bei XmlWriteMode die Option „WriteSchema“. In Ihrem Fall werden Sie Befehl und Option miteinander gemixt haben: Falsch DataSet ds = new DataSet(); ds.ReadXml(„test.xml“, XmlReadMode.WriteSchema); oder DataSet ds = new DataSet(); ds.WriteXml(„test.xml“, XmlWriteMode.ReadSchema); Richtig DataSet ds = new DataSet(); ds.ReadXml(„test.xml“, XmlReadMode.ReadSchema); oder entsprechend DataSet ds = new DataSet(); ds.WriteXml(„test.xml“, XmlWriteMode.WriteSchema);

Mehr

C#: SQLite Datenbank einbinden und nutzen (auch für SharpDevelop)

SQLite ist eine dateibasierte Datenbank, welche Sie mit SQL Befehlen (wie mySQL, MS SQL, usw.) verwalten können. Installation Laden Sie sich die benötigte Komponente herunter: ADO.NET 2.0 Provider for SQLite Starten Sie das heruntergeladene Setup und folgen Sie den Installationsanweisungen Vorbereitungen für Ihr C# Projekt Sie können die nun installierten ADO.NET SQLite Komponenten nutzen. zur Vereinfachung sollten Sie die benötigten Libraries (DLLs) in Ihren Projektordner kopieren: Öffnen Sie den Ordner „C:\Programme\SQLite.NET\bin“ Markieren Sie die benötigte .DLL Datei zum Kopieren. Welche Datei Sie in Ihrem Fall brauchen, hängt von Ihrem eingesetzten System ab (I386, AMD64, …). Für eine Standardumgebung (Windows 32-Bit System) nutze ich die „System.Data.SQLite.dll“. Öffnen Sie den Ordner „bin\Debug“ Ordner in Ihrem Projektverzeichnis. In diesem Beispiel nutze ich den Projektnamen „HalloWelt“. Im Beispiel ist der Projektordner „C:\tmp\HalloWelt\bin\Debug“ Fügen Sie die ausgewählten Dateien ein In SharpDevelop die DLL als Referenz hinzufügen Zur Projektansicht wechseln (Strg + Alt + L) In Ihrem Projekt den Untereintrag „Referenzen“ mit der rechten Maustaste anklicken „Referenz hinzufügen“ auswählen und anklicken Den Reiter „.NET Assemblybrowser“ auswählen Auf den Button „Suchen“ klicken Ihren Projektordner öffnen und die gerade hineinkopierte DLL auswählen „OK“ anklicken Das Fenster schließt sich und die DLL ist im Bereich „Gewählte Referenzen“ zu finden

Mehr

ExtJS: Fehler "unterminated string literal" bei .load()

Wenn Sie auf Ihrer Webseite mit Ext JS und der Funktion „xyz.open()“ Daten nachladen, kann es vorkommen, dass Ihre Maske die Daten nicht zeigt und der Ladevorgang nicht beendet wird. Sie sehen dann (sofern Sie es aktiviert haben) die Lademeldung weiterhin auf dem Bildschirm. Die Meldung in der Fehlerkonsole des Browsers lautet (z.Bsp.): Fehler: unterminated string literal Quelldatei: http://localhost/ext/ext-all.js Zeile: 7, Spalte: 73 Quelltext: ({„count“:1,“success“:true,“items“:[{„id“:1234,“ref“:““,“txt“:“Shell Grund für den Fehler ist dann meist ein Zeilenumbruch (CRLF) im Text (hier in der Variablen „txt“). Diesen umbruch kann das JSON Format zwar an Ihre Anwendung übertragen, JavaScript kommt damit dann aber nicht zurecht. Lösung: Ersetzen Sie bei der JSON Erstellung (z.Bsp. in PHP) den Umbruch durch ein „\n“: eregi_replace(chr(13).chr(10),’\n‘,$to->Text)

Mehr

SVN: Die .svn Ordner rekursiv aus den Verzeichnissen löschen

Wenn Sie SVN Projekte betreiben und die lokalen Verzeichnisse kopieren oder weitergeben möchten, dann stören häufig die .svn Folder (Ordner) in jedem einzelnen Unterverzeichnis. Um diese einfach und schnell zu löschen, legen Sie sich eine Batchdatei mit folgendem Inhalt an: ?? FOR /F „tokens=*“ %%G IN (‚DIR /B /AD /S *.svn*‘) DO RMDIR /S /Q %%G Direkt auf der Kommandozeile ausgeführt, funktioniert der Befehl leider (meist) nicht. Um in der Kommandozeile direkt die Batchdatei (hier: „delete_svn.bat“) anzulegen, nutzen Sie folgende Befehle: copy con delete_svn.bat FOR /F „tokens=*“ %%G IN (‚DIR /B /AD /S *.svn*‘) DO RMDIR /S /Q %%G ^Z Danach finden Sie im aktuellen Verzeichnis die „delete_svn.bat“ und können Sie ausführen. Achtung: Die .SVN Ordner werden ohne Rückfrage sofort und rekursiv gelöscht, d.h. auch alle .SVN Ordner in allen Unterverzeichnissen des aktuellen Orderns werden gelöscht. Sollte das Script mit einem Fehler „“ beendet werden, bitte die Anführungszeichen im Befehl entsprechend ändern (z.Bsp. von “ zu ‚ ). In Linux funktioniert der folgende Befehl: rm -rf `find . -type d -name .svn`

Mehr

Linux: Datenträger Partitionierungs Tool

Unter Linux (Debian) hilft Ihnen im Textmodus gut und einfach das CFDisk Tools bei der Datenträger- / Festplatten-Partitionierung: cfdisk /dev/sdc1 Die Oberfläche ist sehr einfach gehalten und gut bedienbar. Vergessen Sie vor dem Beenden des Programmes nicht den „WRITE“ Befehl ausführen zu lassen. Nur dann werden Ihre Änderungen auch auf den entsprechenden Datenträger geschrieben.

Mehr

Apache: Reverse Proxy & Multi Subdomains

Wenn Sie einen Apache2 Webserver als Reverse Proxy betreiben und dabei mehrere Subdomains berücksichtigen möchten, müssen Sie nicht zwangsläufig mehrere virtuellen Hosts (VHosts) in der Apache Konfiguration definieren. Es geht wesentlich einfacher über Parameter in der Konfiguration: Fügen Sie am Ende der Datei die folgenden beiden Zeilen ein: ProxyRequests on ProxyPreserveHost on Starten Sie anschließend den Apache durch „/etc/init.d/apache2 restart“ neu. Fertig. Wenn Sie WebMin für die Administration nutzen, können Sie die Einstellung auch bequem über die Weboberfläche durchführen: Server Apache Webserver Den entsprechenden virtuellen Server auswählen Proxying „Erhalte originalen Host:-Header“ auf „Ja“ setzen Oben rechts auf „Änderungen anwenden“ klicken

Mehr

Warum man Partitionen einrichten sollte

Bei der Installation eines Betriebsystemes werden Sie meist nach der Einrichtung von Partitionen gefragt. Eine partition ist die (virtuelle) Unterteilung eines Datenträgers in einzelne Bereiche. Die jeweils passende Partitionierung hängt davon ab, wie Sie den Computer nutzen möchten. Eine gute Faustregel ist, dass Sie mit den Partitionen eher großzügig sind und dabei folgendes berücksichtigt: Jeder Bereich (Verzeichnisbaum), auf den ein Benutzer Schreibzugriff haben soll (z.Bsp. bei Linux auf die Verzeichnisse /home, /tmp und /var/tmp) sollte auf einer separaten Partition liegen. Das senkt das Risiko eines DoS (= Denial of Service) durch einen Benutzer. Das kann z.Bsp. passieren, indem man Ihren „/“-Mountpoint füllt (eine Datei, bis sie den kompletten freien Speicherplatz benötigt) und so das komplette System unbenutzbar macht. Rein technisch ist zwar immer noch ein wenig Platz für den Benutzer „root“ – aber ein großes Problem haben Sie trotzdem. Außerdem schützt dieses Vorgehen vor Hardlink-Angriffen.

Mehr

Ein System per VirtualBox auf einer (realen) Festplatte installieren

Die Freeware „VirtualBox“ erlaubt es Ihnen auf Ihrem Computer andere (virtuelle) System zu installieren und betreiben. Normalerweise nutzt die Software dafür ebenfalls virtuelle Festplatten auf Ihrem eigentlichen (realen) PC. Wenn Sie nun ein System auf einer physikalischen Festplatte (im gegensatz zur üblichen virtuellen Festplatte) installieren möchten, stellt Ihnen VirtualBox ab Version 2.2.2 dafür Techniken zur Verfügung. Wir möchten hier kurz zeigen, wie Sie anhand eines Beispieles diese Technik nutzen können: 1. Schritt: Festplatte mit Ihrem Computer verbinden Entweder bauen Sie die zu verwendende Festplatte in Ihren PC ein oder Sie schließen Sie über externe USB Adapter an Ihren Computer an. Solche USB Adapter finden Sie unter der Bezeichnung „USB Festplatten Adapter“ in den meisten Elektronikfachmärkten. Beispiel: Google Produktsuche mit Preisvergleich 2. Schritt: Kennung der Festplatte herausfinden Um die Festplatte für VirtualBox verfügbar zu machen, benötigen wir die eindeutige Kennung (ID) der Festplatte. Unter Windows: Öffnen Sie die „Computerverwaltung“ Start > Einstellungen > Systemsteuerung > Verwaltung > Computerverwaltung Wählen Sie „Datenträgerverwaltung“ (in „Datenspeicher“) Im rechten, unteren Fensterbereich finden Sie alle gefundenen Datenträger: Bild: Beispiel aus der Datenträgerverwaltung Klicken Sie mit der rechten Maustaste auf den Anfang des entsprechenden Eintrages. Wählen Sie „Eigenschaften“ aus Im Bereich „Volumes“ finden Sie die Kennung bei

Mehr

PHP: Unable to load dynamic library '/usr/lib/php5/extensions/mysql.so'

Wenn im ErrorLog des Apache2 WebServers („tail /var/log/apache2/error.log“) u.a. folgende Zeile zu finden ist, kann PHP die Extension (Erweiterung) nicht finden und laden: PHP Warning: PHP Startup: Unable to load dynamic library ‚/usr/lib/php5/extensions/mysql.so‘ – /usr/lib/php5/extensions/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0 Häufig wird dann angefangen, wild an der Konfiguration zu ändern und basteln. Dabei wird meist das naheliegendste übersehen: Gibt es das angegebene Verzeichnis überhaupt ? Erst recht, wenn mehrere (oder gar viele) Extensions nicht geladen werden können. Wenn dann der Befehl dir -l /usr/lib/php5/extensions/ die folgende Fehlermeldung anzeigt, sollte alles klar sein: dir: Zugriff auf /usr/lib/php5/extensions/ nicht möglich: Datei oder Verzeichnis nicht gefunden Lösung Den Pfad für die Extensions in der „php.ini“ anpassen. Diese kann, falls der Pfad nicht bekannt ist, mithilfe des folgenden Befehls gefunden werden. find / -name php.ini Dieser Befehl zeigt Ihnen ggf. auch andere „php.ini“ Dateien auf ihrem System an. Manchmal konfiguriert man ein einer „php.ini“ und wundert sich, dass keine Änderung eintritt. Wenn man zufällig die falsche Datei in den Händen hat, dann kann man auch lange auf ein Ergebnis warten 😉 Häufig fällt dieses Problem nach einer (Neu)Installation erst auf, wenn die mySQL /

Mehr

Debian: Verbindung per SSH installieren / einrichten

Nachdem Sie sich einen minimalen Linux Server (hier mit „Debian +lenny4“) installiert haben, sollten SIe sich für den Remotezugang den SSH-Server installieren: apt-get install openssh-server Danach mit folgendem Befehl starten: /etc/init.d/ssh start Ab jetzt können Sie sich per SSH mit Ihrem Server verbinden. Kostenloses & häufig eingesetztes Tool ist „PuTTY“. Auf der folgenden Webseite finden Sie dazu mehr Informationen: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Mehr

Apache2 - Variable "SERVER_SOFTWARE" setzen

Um im Apache2 die Umgebungsvariable „SERVER_SOFTWARE“ zu beeinflussen, nutzen Sie einfach die Konfiguration des Apache WebServers: Z.Bsp. in Debian Linux lenny4: Unter „/etc/apache2/conf.d/security“ die Zeile beginnend mit „ServerTokens“ finden und entsprechend anpassen. ServerTokens Prod Der Server sendet „Server: Apache“ ServerTokens Major Der Server sendet „Server: Apache/2“ ServerTokens Minor Der Server sendet „Server: Apache/2.0“ ServerTokens Min Der Server sendet „Server: Apache/2.0.41“ ServerTokens OS Der Server sendet „Server: Apache/2.0.41 (Unix)“ ServerTokens Full (oder nicht angegeben) Der Server sendet „Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2“ Die gesendeten Texte sind nur Beispiele. Mehr Infos unter apache.org/docs/2.2/mod/core.html#servertokens

Mehr

Debian: Liste aller Benutzer des Systems

Um unter Debian Linux (und anderen Linux Distributionen) eine aktuelle Liste sämtlicher Benutzer zu erhalten, nutzen Sie folgenden Befehl: cat /etc/passwd Das Dateiformat der „passwd“ – Spalte für Spalte je durch einen Doppelpunkt (:) getrennt. Username / Benutzername Name des Benutezrs. Zwischen 1 und 32 Zeichen lang Password / Passwort Ein „X“ an dieser Stelle kennzeichnet, dass für diesen Benutzer ein verschlüsseltes Passwort inder Datei „/etc/shadow“ hinterlegt ist User ID (UID) / Benutzer ID Jedem Benutzer ist eine ID (Kennung) zugeordnet. Die „0“ (Null) ist für den Administrator („root“) reserviert. Der Bereich von 1 bis 99 ist für andere definierte Accounts reserviert. zwischen 100 und 999 ist reserviert für Systemgruppen Group ID (GID) / Gruppen ID ID der Benutzergruppe, die der Benutzer angehört. Diese können in der Datei „/etc/group“ gefunden werden User ID Info / Bemerkung In diesem Feld können zusätzliche Informationen zum Benutzer gespeichert werden Home directory / Basisverzeichnis Der absolute Pfad zum Basisverzichnis (Heimatverzeichnis) des Benutzers. Hier startet der Benutzer normalerweise nach seinem Login Command/shell Der absolute Pfad zur Shell des Benutzers (Standard: „/bin/bash“).

Mehr